wlanutilities/wlanwizard/src/wlanwizard_p.cpp
author hgs
Thu, 16 Sep 2010 12:52:33 +0300
changeset 61 e1d68407ed06
parent 60 822a45792fdd
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
31
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description: 
hgs
parents:
diff changeset
    15
* WLAN Wizard: Private implementation.
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
// System includes
53
hgs
parents: 43
diff changeset
    19
31
hgs
parents:
diff changeset
    20
#include <QApplication>
hgs
parents:
diff changeset
    21
#include <QGraphicsWidget>
hgs
parents:
diff changeset
    22
#include <QTimer>
hgs
parents:
diff changeset
    23
#include <QDebug>
53
hgs
parents: 43
diff changeset
    24
31
hgs
parents:
diff changeset
    25
#include <HbTranslator>
hgs
parents:
diff changeset
    26
#include <HbDocumentLoader>
hgs
parents:
diff changeset
    27
#include <HbMainWindow>
hgs
parents:
diff changeset
    28
#include <HbDialog>
hgs
parents:
diff changeset
    29
#include <HbStackedWidget>
hgs
parents:
diff changeset
    30
#include <HbLabel>
hgs
parents:
diff changeset
    31
#include <HbAction>
hgs
parents:
diff changeset
    32
#include <HbStyleLoader>
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
// User includes
53
hgs
parents: 43
diff changeset
    35
31
hgs
parents:
diff changeset
    36
#include "eapwizard.h"
hgs
parents:
diff changeset
    37
#include "wpswizard.h"
hgs
parents:
diff changeset
    38
#include "wlanqtutils.h"
hgs
parents:
diff changeset
    39
#include "wlanqtutilsap.h"
hgs
parents:
diff changeset
    40
#include "wlanwizardplugin.h"
hgs
parents:
diff changeset
    41
#include "wlanwizard.h"
hgs
parents:
diff changeset
    42
#include "wlanwizard_p.h"
hgs
parents:
diff changeset
    43
#include "wlanwizardutils.h"
hgs
parents:
diff changeset
    44
#include "wlanwizardpagekeyquery.h"
hgs
parents:
diff changeset
    45
#include "wlanwizardpagesummary.h"
hgs
parents:
diff changeset
    46
#include "wlanwizardpageprocessingsettings.h"
hgs
parents:
diff changeset
    47
#include "wlanwizardpagegenericerror.h"
hgs
parents:
diff changeset
    48
#include "wlanwizardpagessid.h"
hgs
parents:
diff changeset
    49
#include "wlanwizardpagenetworkmode.h"
hgs
parents:
diff changeset
    50
#include "wlanwizardpagescanning.h"
hgs
parents:
diff changeset
    51
#include "wlanwizardpagesecuritymode.h"
hgs
parents:
diff changeset
    52
hgs
parents:
diff changeset
    53
#include "OstTraceDefinitions.h"
hgs
parents:
diff changeset
    54
#ifdef OST_TRACE_COMPILER_IN_USE
hgs
parents:
diff changeset
    55
#include "wlanwizard_pTraces.h"
hgs
parents:
diff changeset
    56
#endif
hgs
parents:
diff changeset
    57
hgs
parents:
diff changeset
    58
/*!
hgs
parents:
diff changeset
    59
   \class WlanWizardPrivate
hgs
parents:
diff changeset
    60
   \brief Private implementation of WlanWizard. Implements the interface
hgs
parents:
diff changeset
    61
   WlanWizardHelper to the wizard plugins. 
hgs
parents:
diff changeset
    62
 */
hgs
parents:
diff changeset
    63
hgs
parents:
diff changeset
    64
// External function prototypes
hgs
parents:
diff changeset
    65
hgs
parents:
diff changeset
    66
// Local constants
hgs
parents:
diff changeset
    67
hgs
parents:
diff changeset
    68
/*!
hgs
parents:
diff changeset
    69
   \var PageTimeout Timeout for timer protected pages. 1.5sec
hgs
parents:
diff changeset
    70
 */
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
// ======== LOCAL FUNCTIONS ========
hgs
parents:
diff changeset
    73
hgs
parents:
diff changeset
    74
// ======== MEMBER FUNCTIONS ========
hgs
parents:
diff changeset
    75
hgs
parents:
diff changeset
    76
/*!
hgs
parents:
diff changeset
    77
   Constructor of private implementation.
hgs
parents:
diff changeset
    78
   
hgs
parents:
diff changeset
    79
   @param [in] wizard Pointer to the API class.
hgs
parents:
diff changeset
    80
   @param [in] mainWindow pointer to mainwindow.
hgs
parents:
diff changeset
    81
 */
hgs
parents:
diff changeset
    82
WlanWizardPrivate::WlanWizardPrivate(
hgs
parents:
diff changeset
    83
    WlanWizard* wizard, 
hgs
parents:
diff changeset
    84
    HbMainWindow *mainWindow) :
hgs
parents:
diff changeset
    85
    QObject(wizard),
hgs
parents:
diff changeset
    86
    q_ptr(wizard), 
hgs
parents:
diff changeset
    87
    mMainWindow(mainWindow), 
hgs
parents:
diff changeset
    88
    mPageTimer(new QTimer(this)),
hgs
parents:
diff changeset
    89
    mTitle(NULL),
hgs
parents:
diff changeset
    90
    mActionNext(NULL),
hgs
parents:
diff changeset
    91
    mActionPrevious(NULL),
hgs
parents:
diff changeset
    92
    mActionFinish(NULL),
hgs
parents:
diff changeset
    93
    mActionCancel(NULL),
hgs
parents:
diff changeset
    94
    mStackedWidget(NULL),
hgs
parents:
diff changeset
    95
    mDialog(NULL),
hgs
parents:
diff changeset
    96
    mTranslator(new HbTranslator("wlanwizard")),
hgs
parents:
diff changeset
    97
    mWlanQtUtils(new WlanQtUtils()),
hgs
parents:
diff changeset
    98
    mDocLoader(new HbDocumentLoader(mainWindow)),
hgs
parents:
diff changeset
    99
    mEapWizard(NULL), 
hgs
parents:
diff changeset
   100
    mWpsWizard(NULL), 
hgs
parents:
diff changeset
   101
    mFirstPageId(WlanWizardPageInternal::PageNone),
hgs
parents:
diff changeset
   102
    mPageFinished(false),
hgs
parents:
diff changeset
   103
    mClosed(false)
hgs
parents:
diff changeset
   104
{
53
hgs
parents: 43
diff changeset
   105
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_WLANWIZARDPRIVATE_ENTRY);
hgs
parents: 43
diff changeset
   106
    
hgs
parents: 43
diff changeset
   107
    OstTrace1(
hgs
parents: 43
diff changeset
   108
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   109
        WLANWIZARDPRIVATE_WLANWIZARDPRIVATE,
31
hgs
parents:
diff changeset
   110
        "WlanWizardPrivate::WlanWizardPrivate;this=%x", 
53
hgs
parents: 43
diff changeset
   111
        this);
31
hgs
parents:
diff changeset
   112
    
hgs
parents:
diff changeset
   113
    // Set initial values for configurations
hgs
parents:
diff changeset
   114
    setConfiguration(ConfIapId, WlanQtUtils::IapIdNone);
hgs
parents:
diff changeset
   115
    setConfiguration(ConfConnected, false);
53
hgs
parents: 43
diff changeset
   116
    setConfiguration(ConfWlanScanSSID, false);
31
hgs
parents:
diff changeset
   117
    setConfiguration(ConfProcessSettings, false);
hgs
parents:
diff changeset
   118
    setConfiguration(ConfIctStatus, false);
hgs
parents:
diff changeset
   119
hgs
parents:
diff changeset
   120
    // Initialize timer for timer protected pages
hgs
parents:
diff changeset
   121
    mPageTimer->setSingleShot(true);
hgs
parents:
diff changeset
   122
hgs
parents:
diff changeset
   123
    // Load the wizard frame (title, content, actions) from docml 
hgs
parents:
diff changeset
   124
    loadDocml();
hgs
parents:
diff changeset
   125
hgs
parents:
diff changeset
   126
    // Creates the control object of the wlan wizard pages. 
hgs
parents:
diff changeset
   127
    createPages();
hgs
parents:
diff changeset
   128
39
hgs
parents: 31
diff changeset
   129
    // EAP Wizard will add wizard pages at construction phase using
hgs
parents: 31
diff changeset
   130
    // WlanWizardHelper::addPage()
hgs
parents: 31
diff changeset
   131
    mEapWizard.reset(new EapWizard(this) );
hgs
parents: 31
diff changeset
   132
hgs
parents: 31
diff changeset
   133
    // WPS Wizard will add wizard pages at construction phase using
hgs
parents: 31
diff changeset
   134
    // WlanWizardHelper::addPage()
hgs
parents: 31
diff changeset
   135
    mWpsWizard.reset(new WpsWizard(this));
hgs
parents: 31
diff changeset
   136
31
hgs
parents:
diff changeset
   137
    // First page is SSID query, unless client sets configurations via
hgs
parents:
diff changeset
   138
    // setParameters(), which decides the first page..
hgs
parents:
diff changeset
   139
    mFirstPageId = WlanWizardPageInternal::PageSsid;
hgs
parents:
diff changeset
   140
53
hgs
parents: 43
diff changeset
   141
    OstTraceExt2(
hgs
parents: 43
diff changeset
   142
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   143
        WLANWIZARDPRIVATE_WLANWIZARDPRIVATE_DONE,
31
hgs
parents:
diff changeset
   144
        "WlanWizardPrivate::WlanWizardPrivate - done;"
hgs
parents:
diff changeset
   145
        "this=%x;mFirstPageId=%{PageIds}",
53
hgs
parents: 43
diff changeset
   146
        (unsigned)this,
hgs
parents: 43
diff changeset
   147
        mFirstPageId);
hgs
parents: 43
diff changeset
   148
    
hgs
parents: 43
diff changeset
   149
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_WLANWIZARDPRIVATE_EXIT);
31
hgs
parents:
diff changeset
   150
}
hgs
parents:
diff changeset
   151
hgs
parents:
diff changeset
   152
/*!
hgs
parents:
diff changeset
   153
   Destructor.
hgs
parents:
diff changeset
   154
 */
hgs
parents:
diff changeset
   155
WlanWizardPrivate::~WlanWizardPrivate()
hgs
parents:
diff changeset
   156
{
53
hgs
parents: 43
diff changeset
   157
    OstTraceFunctionEntry0(DUP1_WLANWIZARDPRIVATE_WLANWIZARDPRIVATE_ENTRY);
hgs
parents: 43
diff changeset
   158
    
hgs
parents: 43
diff changeset
   159
    OstTrace1(
hgs
parents: 43
diff changeset
   160
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   161
        WLANWIZARDPRIVATE_DWLANWIZARDPRIVATE,
31
hgs
parents:
diff changeset
   162
        "WlanWizardPrivate::~WlanWizardPrivate;this=%x",
53
hgs
parents: 43
diff changeset
   163
        this);
31
hgs
parents:
diff changeset
   164
    
hgs
parents:
diff changeset
   165
    // Remove wizard pages from stackedwidgets, since stackedwidget owns the
hgs
parents:
diff changeset
   166
    // objects and all pages are deleted below. 
hgs
parents:
diff changeset
   167
    while (mStackedWidget->count()) {
hgs
parents:
diff changeset
   168
        mStackedWidget->removeAt(0);
hgs
parents:
diff changeset
   169
    }
hgs
parents:
diff changeset
   170
hgs
parents:
diff changeset
   171
    // Delete UI instances (HbWidget) of pages
hgs
parents:
diff changeset
   172
    QHashIterator<HbWidget*, WlanWizardPage*> i(mPageMapper);
hgs
parents:
diff changeset
   173
    while (i.hasNext()) {
hgs
parents:
diff changeset
   174
        i.next();
hgs
parents:
diff changeset
   175
        delete i.key();
hgs
parents:
diff changeset
   176
    }
hgs
parents:
diff changeset
   177
    mPageMapper.clear();
hgs
parents:
diff changeset
   178
hgs
parents:
diff changeset
   179
    // WlanWizardPage objects are automatically deleted since this is the
hgs
parents:
diff changeset
   180
    // parent of the objects.
hgs
parents:
diff changeset
   181
    mPages.clear();
hgs
parents:
diff changeset
   182
    
hgs
parents:
diff changeset
   183
    // timer is cancelled/deleted automatically when the parent (this) is deleted 
hgs
parents:
diff changeset
   184
    
hgs
parents:
diff changeset
   185
    HbStyleLoader::unregisterFilePath(":/css/custom.css");
hgs
parents:
diff changeset
   186
    
39
hgs
parents: 31
diff changeset
   187
    mDialog->setAttribute( Qt::WA_DeleteOnClose, true );
hgs
parents: 31
diff changeset
   188
    mDialog->close();
hgs
parents: 31
diff changeset
   189
    // Remove the pointer from QScopedPointer to prevent double deallocation
hgs
parents: 31
diff changeset
   190
    mDialog.take();
hgs
parents: 31
diff changeset
   191
    
53
hgs
parents: 43
diff changeset
   192
    OstTrace1(
hgs
parents: 43
diff changeset
   193
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   194
        WLANWIZARDPRIVATE_DWLANWIZARDPRIVATE_DONE,
31
hgs
parents:
diff changeset
   195
        "WlanWizardPrivate::~WlanWizardPrivate-Done;this=%x",
53
hgs
parents: 43
diff changeset
   196
        this);
hgs
parents: 43
diff changeset
   197
    
hgs
parents: 43
diff changeset
   198
    OstTraceFunctionExit0(DUP1_WLANWIZARDPRIVATE_WLANWIZARDPRIVATE_EXIT);
31
hgs
parents:
diff changeset
   199
}
hgs
parents:
diff changeset
   200
hgs
parents:
diff changeset
   201
/*!
hgs
parents:
diff changeset
   202
   See WlanWizard::setParameters().
hgs
parents:
diff changeset
   203
 */
hgs
parents:
diff changeset
   204
void WlanWizardPrivate::setParameters(
60
hgs
parents: 53
diff changeset
   205
    const QString &name, 
hgs
parents: 53
diff changeset
   206
    const QByteArray &ssid, 
53
hgs
parents: 43
diff changeset
   207
    int networkMode,
31
hgs
parents:
diff changeset
   208
    int securityMode, 
hgs
parents:
diff changeset
   209
    bool usePsk,
hgs
parents:
diff changeset
   210
    bool wps)
hgs
parents:
diff changeset
   211
{
53
hgs
parents: 43
diff changeset
   212
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_SETPARAMETERS_ENTRY);
hgs
parents: 43
diff changeset
   213
    
hgs
parents: 43
diff changeset
   214
    OstTrace1(
hgs
parents: 43
diff changeset
   215
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   216
        WLANWIZARDPRIVATE_SETPARAMETERS, 
31
hgs
parents:
diff changeset
   217
        "WlanWizardPrivate::setParameters;this=%x", 
53
hgs
parents: 43
diff changeset
   218
        this);
31
hgs
parents:
diff changeset
   219
    
hgs
parents:
diff changeset
   220
    mFirstPageId = getNextPageId(
60
hgs
parents: 53
diff changeset
   221
        name,
53
hgs
parents: 43
diff changeset
   222
        ssid,
hgs
parents: 43
diff changeset
   223
        networkMode,
hgs
parents: 43
diff changeset
   224
        securityMode,
hgs
parents: 43
diff changeset
   225
        usePsk,
hgs
parents: 43
diff changeset
   226
        false,
hgs
parents: 43
diff changeset
   227
        wps);
31
hgs
parents:
diff changeset
   228
    
53
hgs
parents: 43
diff changeset
   229
    OstTrace1(
hgs
parents: 43
diff changeset
   230
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   231
        WLANWIZARDPRIVATE_SETPARAMETERS_DONE, 
31
hgs
parents:
diff changeset
   232
        "WlanWizardPrivate::setParameters - Done;this=%x", 
53
hgs
parents: 43
diff changeset
   233
        this);
hgs
parents: 43
diff changeset
   234
    
hgs
parents: 43
diff changeset
   235
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_SETPARAMETERS_EXIT);
31
hgs
parents:
diff changeset
   236
}
hgs
parents:
diff changeset
   237
hgs
parents:
diff changeset
   238
/*!
hgs
parents:
diff changeset
   239
   See WlanWizard::show().
hgs
parents:
diff changeset
   240
 */
hgs
parents:
diff changeset
   241
void WlanWizardPrivate::show()
hgs
parents:
diff changeset
   242
{
53
hgs
parents: 43
diff changeset
   243
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_SHOW_ENTRY);
hgs
parents: 43
diff changeset
   244
    
hgs
parents: 43
diff changeset
   245
    OstTraceExt2(
hgs
parents: 43
diff changeset
   246
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   247
        WLANWIZARDPRIVATE_SHOW,
31
hgs
parents:
diff changeset
   248
        "WlanWizardPrivate::show;this=%x;mFirstPageId=%{PageIds}", 
53
hgs
parents: 43
diff changeset
   249
        (unsigned)this,
hgs
parents: 43
diff changeset
   250
        mFirstPageId);
31
hgs
parents:
diff changeset
   251
    
hgs
parents:
diff changeset
   252
    Q_ASSERT(mClosed == false);
hgs
parents:
diff changeset
   253
    showPage(mFirstPageId, false);
hgs
parents:
diff changeset
   254
    mDialog->show();
hgs
parents:
diff changeset
   255
    
53
hgs
parents: 43
diff changeset
   256
    OstTrace1(
hgs
parents: 43
diff changeset
   257
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   258
        WLANWIZARDPRIVATE_SHOW_DONE,
31
hgs
parents:
diff changeset
   259
        "WlanWizardPrivate::show - Done;this=%x;",
53
hgs
parents: 43
diff changeset
   260
        (unsigned)this);
hgs
parents: 43
diff changeset
   261
    
hgs
parents: 43
diff changeset
   262
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_SHOW_EXIT);
31
hgs
parents:
diff changeset
   263
}
hgs
parents:
diff changeset
   264
hgs
parents:
diff changeset
   265
/*!
hgs
parents:
diff changeset
   266
   See WlanWizard::setParameters() for descriptions of parameters.
hgs
parents:
diff changeset
   267
   
hgs
parents:
diff changeset
   268
   Based on the provided parameters next page id is returned.
hgs
parents:
diff changeset
   269
   
hgs
parents:
diff changeset
   270
   @return next page id based on provided configurations.
hgs
parents:
diff changeset
   271
 */
hgs
parents:
diff changeset
   272
int WlanWizardPrivate::getNextPageId(
60
hgs
parents: 53
diff changeset
   273
    const QString &name,
hgs
parents: 53
diff changeset
   274
    const QByteArray &ssid,
31
hgs
parents:
diff changeset
   275
    int networkMode, 
hgs
parents:
diff changeset
   276
    int securityMode, 
hgs
parents:
diff changeset
   277
    bool usePsk,
60
hgs
parents: 53
diff changeset
   278
    bool hidden,
31
hgs
parents:
diff changeset
   279
    bool wps)
hgs
parents:
diff changeset
   280
{
53
hgs
parents: 43
diff changeset
   281
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_GETNEXTPAGEID_ENTRY);
hgs
parents: 43
diff changeset
   282
    
60
hgs
parents: 53
diff changeset
   283
    setConfiguration(ConfName, name);
31
hgs
parents:
diff changeset
   284
    setConfiguration(ConfSsid, ssid);
hgs
parents:
diff changeset
   285
    setConfiguration(ConfNetworkMode, networkMode);
hgs
parents:
diff changeset
   286
    setConfiguration(ConfSecurityMode, securityMode);
hgs
parents:
diff changeset
   287
    setConfiguration(ConfUsePsk, usePsk);
53
hgs
parents: 43
diff changeset
   288
    setConfiguration(ConfWlanScanSSID, hidden);
60
hgs
parents: 53
diff changeset
   289
    setConfiguration(ConfProcessSettings, true);
31
hgs
parents:
diff changeset
   290
53
hgs
parents: 43
diff changeset
   291
    OstTrace1(
hgs
parents: 43
diff changeset
   292
        TRACE_NORMAL,
hgs
parents: 43
diff changeset
   293
        WLANWIZARDPRIVATE_GETNEXTPAGEID, 
31
hgs
parents:
diff changeset
   294
        "WlanWizardPrivate::getNextPageId;wps=%u", 
53
hgs
parents: 43
diff changeset
   295
        wps);
hgs
parents: 43
diff changeset
   296
    
hgs
parents: 43
diff changeset
   297
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_GETNEXTPAGEID_EXIT);
31
hgs
parents:
diff changeset
   298
    return nextPageId(wps);
hgs
parents:
diff changeset
   299
}
hgs
parents:
diff changeset
   300
hgs
parents:
diff changeset
   301
/*!
hgs
parents:
diff changeset
   302
   Utility method for WLAN Wizard pages to query the wlanqtutils class.
hgs
parents:
diff changeset
   303
   
hgs
parents:
diff changeset
   304
   @return a valid pointer to WlanQtUtils class.
hgs
parents:
diff changeset
   305
 */
hgs
parents:
diff changeset
   306
WlanQtUtils* WlanWizardPrivate::wlanQtUtils() const
hgs
parents:
diff changeset
   307
{
53
hgs
parents: 43
diff changeset
   308
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_WLANQTUTILS_ENTRY);
hgs
parents: 43
diff changeset
   309
    
43
hgs
parents: 39
diff changeset
   310
    Q_ASSERT(mWlanQtUtils.data());
53
hgs
parents: 43
diff changeset
   311
    
hgs
parents: 43
diff changeset
   312
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_WLANQTUTILS_EXIT);
31
hgs
parents:
diff changeset
   313
    return mWlanQtUtils.data();
hgs
parents:
diff changeset
   314
}
hgs
parents:
diff changeset
   315
hgs
parents:
diff changeset
   316
/*!
hgs
parents:
diff changeset
   317
   Utility method for WLAN Wizard pages to query active wizard plugin object
hgs
parents:
diff changeset
   318
   
hgs
parents:
diff changeset
   319
   @return NULL in case plugin is not active.
hgs
parents:
diff changeset
   320
 */ 
hgs
parents:
diff changeset
   321
WlanWizardPlugin* WlanWizardPrivate::wlanWizardPlugin() const
hgs
parents:
diff changeset
   322
{
53
hgs
parents: 43
diff changeset
   323
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_WLANWIZARDPLUGIN_ENTRY);
hgs
parents: 43
diff changeset
   324
    
31
hgs
parents:
diff changeset
   325
    WlanWizardPlugin* plugin = NULL;
hgs
parents:
diff changeset
   326
hgs
parents:
diff changeset
   327
    if (isEapEnabled()) {
39
hgs
parents: 31
diff changeset
   328
        plugin = mEapWizard.data();
31
hgs
parents:
diff changeset
   329
        Q_ASSERT(plugin);
hgs
parents:
diff changeset
   330
    }
hgs
parents:
diff changeset
   331
    
53
hgs
parents: 43
diff changeset
   332
    OstTrace1(
hgs
parents: 43
diff changeset
   333
        TRACE_NORMAL,
hgs
parents: 43
diff changeset
   334
        WLANWIZARDPRIVATE_WLANWIZARDPLUGIN, 
31
hgs
parents:
diff changeset
   335
        "WlanWizardPrivate::wlanWizardPlugin;plugin=%x", 
53
hgs
parents: 43
diff changeset
   336
        plugin);
31
hgs
parents:
diff changeset
   337
    
53
hgs
parents: 43
diff changeset
   338
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_WLANWIZARDPLUGIN_EXIT);
31
hgs
parents:
diff changeset
   339
    return plugin;
hgs
parents:
diff changeset
   340
}
hgs
parents:
diff changeset
   341
hgs
parents:
diff changeset
   342
/*!
hgs
parents:
diff changeset
   343
   Utility method for WLAN Wizard pages to query if EAP mode is active at the
hgs
parents:
diff changeset
   344
   moment
hgs
parents:
diff changeset
   345
   
hgs
parents:
diff changeset
   346
   @return true in case EAP is currently activated.
hgs
parents:
diff changeset
   347
 */
hgs
parents:
diff changeset
   348
bool WlanWizardPrivate::isEapEnabled() const
hgs
parents:
diff changeset
   349
{
53
hgs
parents: 43
diff changeset
   350
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_ISEAPENABLED_ENTRY);
hgs
parents: 43
diff changeset
   351
    
31
hgs
parents:
diff changeset
   352
    bool ret = false;
hgs
parents:
diff changeset
   353
    int secMode = configuration(ConfSecurityMode).toInt();
hgs
parents:
diff changeset
   354
hgs
parents:
diff changeset
   355
    if (((secMode == CMManagerShim::WlanSecModeWpa || 
hgs
parents:
diff changeset
   356
          secMode == CMManagerShim::WlanSecModeWpa2) && 
hgs
parents:
diff changeset
   357
          !configuration(ConfUsePsk).toBool()) || 
hgs
parents:
diff changeset
   358
        secMode == CMManagerShim::WlanSecMode802_1x) {
hgs
parents:
diff changeset
   359
        ret = true;
hgs
parents:
diff changeset
   360
    }
hgs
parents:
diff changeset
   361
53
hgs
parents: 43
diff changeset
   362
    OstTrace1(
hgs
parents: 43
diff changeset
   363
        TRACE_NORMAL,
hgs
parents: 43
diff changeset
   364
        WLANWIZARDPRIVATE_ISEAPENABLED, 
31
hgs
parents:
diff changeset
   365
        "WlanWizardPrivate::isEapEnabled;ret=%u", 
53
hgs
parents: 43
diff changeset
   366
        ret);
31
hgs
parents:
diff changeset
   367
    
53
hgs
parents: 43
diff changeset
   368
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_ISEAPENABLED_EXIT);
31
hgs
parents:
diff changeset
   369
    return ret;
hgs
parents:
diff changeset
   370
}
hgs
parents:
diff changeset
   371
hgs
parents:
diff changeset
   372
/*!
hgs
parents:
diff changeset
   373
   Creates new iap or updates existing iap.
hgs
parents:
diff changeset
   374
   
hgs
parents:
diff changeset
   375
   @return false in case IAP creation/update failed.
hgs
parents:
diff changeset
   376
 */
hgs
parents:
diff changeset
   377
bool WlanWizardPrivate::handleIap()
hgs
parents:
diff changeset
   378
{
53
hgs
parents: 43
diff changeset
   379
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_HANDLEIAP_ENTRY);
60
hgs
parents: 53
diff changeset
   380
53
hgs
parents: 43
diff changeset
   381
    OstTrace0(
hgs
parents: 43
diff changeset
   382
        TRACE_FLOW,
hgs
parents: 43
diff changeset
   383
        WLANWIZARDPRIVATE_HANDLEIAP,
hgs
parents: 43
diff changeset
   384
        "WlanWizardPrivate::handleIap");
60
hgs
parents: 53
diff changeset
   385
31
hgs
parents:
diff changeset
   386
    bool ret = true;
hgs
parents:
diff changeset
   387
    bool usePsk = true;
hgs
parents:
diff changeset
   388
    int securityMode = configuration(ConfSecurityMode).toInt();
hgs
parents:
diff changeset
   389
    WlanQtUtilsAp wlanAp;
60
hgs
parents: 53
diff changeset
   390
39
hgs
parents: 31
diff changeset
   391
    // Set default values
hgs
parents: 31
diff changeset
   392
    wlanAp.setValue(WlanQtUtilsAp::ConfIdWpaPsk, QString());
hgs
parents: 31
diff changeset
   393
    wlanAp.setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true );
hgs
parents: 31
diff changeset
   394
    wlanAp.setValue(WlanQtUtilsAp::ConfIdWepDefaultIndex, CMManagerShim::WepKeyIndex1 );
hgs
parents: 31
diff changeset
   395
    wlanAp.setValue(WlanQtUtilsAp::ConfIdWepKey1, QString());
hgs
parents: 31
diff changeset
   396
    wlanAp.setValue(WlanQtUtilsAp::ConfIdWepKey2, QString());
hgs
parents: 31
diff changeset
   397
    wlanAp.setValue(WlanQtUtilsAp::ConfIdWepKey3, QString());
hgs
parents: 31
diff changeset
   398
    wlanAp.setValue(WlanQtUtilsAp::ConfIdWepKey4, QString());
60
hgs
parents: 53
diff changeset
   399
31
hgs
parents:
diff changeset
   400
    // Set configuration
60
hgs
parents: 53
diff changeset
   401
    wlanAp.setValue(WlanQtUtilsAp::ConfIdName, configuration(ConfName));
31
hgs
parents:
diff changeset
   402
    wlanAp.setValue(WlanQtUtilsAp::ConfIdSsid, configuration(ConfSsid));
53
hgs
parents: 43
diff changeset
   403
    wlanAp.setValue(
hgs
parents: 43
diff changeset
   404
        WlanQtUtilsAp::ConfIdConnectionMode, 
31
hgs
parents:
diff changeset
   405
        configuration(ConfNetworkMode));
53
hgs
parents: 43
diff changeset
   406
    wlanAp.setValue(WlanQtUtilsAp::ConfIdSecurityMode, securityMode);
hgs
parents: 43
diff changeset
   407
    wlanAp.setValue(WlanQtUtilsAp::ConfIdHidden, false);
hgs
parents: 43
diff changeset
   408
    wlanAp.setValue(WlanQtUtilsAp::ConfIdWlanScanSSID, configuration(ConfWlanScanSSID));
hgs
parents: 43
diff changeset
   409
31
hgs
parents:
diff changeset
   410
    switch (securityMode) {
hgs
parents:
diff changeset
   411
    case CMManagerShim::WlanSecModeWep:
hgs
parents:
diff changeset
   412
        wlanAp.setValue(WlanQtUtilsAp::ConfIdWepKey1, configuration(ConfKeyWep1));
hgs
parents:
diff changeset
   413
        wlanAp.setValue(WlanQtUtilsAp::ConfIdWepKey2, configuration(ConfKeyWep2));
hgs
parents:
diff changeset
   414
        wlanAp.setValue(WlanQtUtilsAp::ConfIdWepKey3, configuration(ConfKeyWep3));
hgs
parents:
diff changeset
   415
        wlanAp.setValue(WlanQtUtilsAp::ConfIdWepKey4, configuration(ConfKeyWep4));
hgs
parents:
diff changeset
   416
        wlanAp.setValue(
hgs
parents:
diff changeset
   417
            WlanQtUtilsAp::ConfIdWepDefaultIndex,
hgs
parents:
diff changeset
   418
            configuration(ConfKeyWepDefault));
hgs
parents:
diff changeset
   419
        break;
hgs
parents:
diff changeset
   420
hgs
parents:
diff changeset
   421
    case CMManagerShim::WlanSecModeWpa:
hgs
parents:
diff changeset
   422
    case CMManagerShim::WlanSecModeWpa2:
hgs
parents:
diff changeset
   423
        usePsk = configuration(ConfUsePsk).toBool();
hgs
parents:
diff changeset
   424
        wlanAp.setValue(WlanQtUtilsAp::ConfIdWpaPskUse, usePsk);
hgs
parents:
diff changeset
   425
        if (usePsk){
hgs
parents:
diff changeset
   426
            wlanAp.setValue(WlanQtUtilsAp::ConfIdWpaPsk, configuration(ConfKeyWpa));
hgs
parents:
diff changeset
   427
        }
hgs
parents:
diff changeset
   428
        break;
hgs
parents:
diff changeset
   429
    
hgs
parents:
diff changeset
   430
    default:
hgs
parents:
diff changeset
   431
        Q_ASSERT(securityMode == CMManagerShim::WlanSecModeOpen ||
hgs
parents:
diff changeset
   432
            securityMode == CMManagerShim::WlanSecMode802_1x);
hgs
parents:
diff changeset
   433
        // No WLAN Specific configuration
hgs
parents:
diff changeset
   434
        break;
hgs
parents:
diff changeset
   435
    }
hgs
parents:
diff changeset
   436
    
60
hgs
parents: 53
diff changeset
   437
    // Create an IAP if it does not exist or update the existing IAP
31
hgs
parents:
diff changeset
   438
    int referenceId = configuration(ConfIapId).toInt();
hgs
parents:
diff changeset
   439
    if (referenceId == WlanQtUtils::IapIdNone) {
53
hgs
parents: 43
diff changeset
   440
        OstTrace0(
hgs
parents: 43
diff changeset
   441
            TRACE_FLOW,
hgs
parents: 43
diff changeset
   442
            WLANWIZARDPRIVATE_HANDLEIAP_CREATE, 
hgs
parents: 43
diff changeset
   443
            "WlanWizardPrivate::handleIap: Create IAP");
31
hgs
parents:
diff changeset
   444
        
hgs
parents:
diff changeset
   445
        referenceId = mWlanQtUtils->createIap(&wlanAp);
hgs
parents:
diff changeset
   446
        setConfiguration(ConfIapId, referenceId);
hgs
parents:
diff changeset
   447
        
hgs
parents:
diff changeset
   448
        if (referenceId == WlanQtUtils::IapIdNone) {
hgs
parents:
diff changeset
   449
            ret = false;
hgs
parents:
diff changeset
   450
        }
hgs
parents:
diff changeset
   451
    } else {
53
hgs
parents: 43
diff changeset
   452
        OstTrace0(
hgs
parents: 43
diff changeset
   453
            TRACE_FLOW,
hgs
parents: 43
diff changeset
   454
            WLANWIZARDPRIVATE_HANDLEIAP_UPDATE, 
hgs
parents: 43
diff changeset
   455
            "WlanWizardPrivate::handleIap: Update IAP");
31
hgs
parents:
diff changeset
   456
hgs
parents:
diff changeset
   457
        ret = mWlanQtUtils->updateIap(referenceId, &wlanAp);
hgs
parents:
diff changeset
   458
    }
hgs
parents:
diff changeset
   459
   
hgs
parents:
diff changeset
   460
    if (ret) {
hgs
parents:
diff changeset
   461
        // Store Wizard plugin specific settings here.
hgs
parents:
diff changeset
   462
        WlanWizardPlugin* plugin = wlanWizardPlugin();
hgs
parents:
diff changeset
   463
        if (plugin) {
53
hgs
parents: 43
diff changeset
   464
            OstTrace0(
hgs
parents: 43
diff changeset
   465
                TRACE_FLOW,
hgs
parents: 43
diff changeset
   466
                WLANWIZARDPRIVATE_HANDLEIAP_PLUGIN, 
hgs
parents: 43
diff changeset
   467
                "WlanWizardPrivate::handleIap: Plugin");
31
hgs
parents:
diff changeset
   468
            // Plugin gets the IAP ID from configuration
hgs
parents:
diff changeset
   469
            ret = plugin->storeSettings();
hgs
parents:
diff changeset
   470
        }
hgs
parents:
diff changeset
   471
    }
hgs
parents:
diff changeset
   472
    
53
hgs
parents: 43
diff changeset
   473
    OstTrace1(
hgs
parents: 43
diff changeset
   474
        TRACE_FLOW,
hgs
parents: 43
diff changeset
   475
        WLANWIZARDPRIVATE_HANDLEIAP_DONE,
31
hgs
parents:
diff changeset
   476
        "WlanWizardPrivate::handleIap: Done;ret=%d",
53
hgs
parents: 43
diff changeset
   477
        ret);
hgs
parents: 43
diff changeset
   478
hgs
parents: 43
diff changeset
   479
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_HANDLEIAP_EXIT);
31
hgs
parents:
diff changeset
   480
    return ret;
hgs
parents:
diff changeset
   481
}
hgs
parents:
diff changeset
   482
hgs
parents:
diff changeset
   483
/*!
hgs
parents:
diff changeset
   484
   See WlanWizardHelper::configuration().
hgs
parents:
diff changeset
   485
 */
hgs
parents:
diff changeset
   486
QVariant WlanWizardPrivate::configuration(ConfigurationId confId) const
hgs
parents:
diff changeset
   487
{
53
hgs
parents: 43
diff changeset
   488
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_CONFIGURATION_ENTRY);
hgs
parents: 43
diff changeset
   489
    
31
hgs
parents:
diff changeset
   490
    Q_ASSERT(mConfigurations.contains(confId));
hgs
parents:
diff changeset
   491
hgs
parents:
diff changeset
   492
#ifdef OST_TRACE_COMPILER_IN_USE
hgs
parents:
diff changeset
   493
    QString tmp;
hgs
parents:
diff changeset
   494
    QDebug tmpStream(&tmp);
hgs
parents:
diff changeset
   495
    tmpStream << mConfigurations[confId];
hgs
parents:
diff changeset
   496
    TPtrC16 string( tmp.utf16(), tmp.length() );
hgs
parents:
diff changeset
   497
    
53
hgs
parents: 43
diff changeset
   498
    OstTraceExt2(
hgs
parents: 43
diff changeset
   499
        TRACE_NORMAL,
hgs
parents: 43
diff changeset
   500
        WLANWIZARDPRIVATE_CONFIGURATIONS, 
31
hgs
parents:
diff changeset
   501
        "WlanWizardPrivate::configuration;confId=%{ConfigurationId};string=%S", 
53
hgs
parents: 43
diff changeset
   502
        (uint)confId,
hgs
parents: 43
diff changeset
   503
        string);
31
hgs
parents:
diff changeset
   504
#endif
hgs
parents:
diff changeset
   505
    
53
hgs
parents: 43
diff changeset
   506
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_CONFIGURATION_EXIT);
31
hgs
parents:
diff changeset
   507
    return mConfigurations[confId];
hgs
parents:
diff changeset
   508
}
hgs
parents:
diff changeset
   509
hgs
parents:
diff changeset
   510
/*!
hgs
parents:
diff changeset
   511
   See WlanWizardHelper::setConfiguration().
hgs
parents:
diff changeset
   512
 */
hgs
parents:
diff changeset
   513
void WlanWizardPrivate::setConfiguration(
hgs
parents:
diff changeset
   514
    ConfigurationId confId, 
hgs
parents:
diff changeset
   515
    const QVariant &value)
hgs
parents:
diff changeset
   516
{
53
hgs
parents: 43
diff changeset
   517
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_SETCONFIGURATION_ENTRY);
hgs
parents: 43
diff changeset
   518
    
31
hgs
parents:
diff changeset
   519
#ifdef OST_TRACE_COMPILER_IN_USE
hgs
parents:
diff changeset
   520
    QString tmp;
hgs
parents:
diff changeset
   521
    QDebug tmpStream(&tmp);
hgs
parents:
diff changeset
   522
    tmpStream << value;
hgs
parents:
diff changeset
   523
    TPtrC16 string( tmp.utf16(), tmp.length() );
hgs
parents:
diff changeset
   524
    
53
hgs
parents: 43
diff changeset
   525
    OstTraceExt2(
hgs
parents: 43
diff changeset
   526
        TRACE_NORMAL,
hgs
parents: 43
diff changeset
   527
        WLANWIZARDPRIVATE_SETCONFIGURATION, 
31
hgs
parents:
diff changeset
   528
        "WlanWizardPrivate::setConfiguration;"
hgs
parents:
diff changeset
   529
        "confId=%{ConfigurationId};string=%S", 
53
hgs
parents: 43
diff changeset
   530
        (uint)confId,
hgs
parents: 43
diff changeset
   531
        string);
31
hgs
parents:
diff changeset
   532
#endif
hgs
parents:
diff changeset
   533
hgs
parents:
diff changeset
   534
    mConfigurations[confId] = value;
53
hgs
parents: 43
diff changeset
   535
    
hgs
parents: 43
diff changeset
   536
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_SETCONFIGURATION_EXIT);
31
hgs
parents:
diff changeset
   537
}
hgs
parents:
diff changeset
   538
hgs
parents:
diff changeset
   539
/*!
39
hgs
parents: 31
diff changeset
   540
 * See WlanWizardHelper::clearConfiguration().
hgs
parents: 31
diff changeset
   541
 */
hgs
parents: 31
diff changeset
   542
void WlanWizardPrivate::clearConfiguration(ConfigurationId confId)
hgs
parents: 31
diff changeset
   543
{
53
hgs
parents: 43
diff changeset
   544
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_CLEARCONFIGURATION_ENTRY);
hgs
parents: 43
diff changeset
   545
    
hgs
parents: 43
diff changeset
   546
    OstTrace1(
hgs
parents: 43
diff changeset
   547
        TRACE_FLOW,
hgs
parents: 43
diff changeset
   548
        WLANWIZARDPRIVATE_CLEARCONFIGURATION,
39
hgs
parents: 31
diff changeset
   549
        "WlanWizardPrivate::clearConfiguration;confId=%{ConfigurationId}",
53
hgs
parents: 43
diff changeset
   550
        (uint)confId);
39
hgs
parents: 31
diff changeset
   551
    
hgs
parents: 31
diff changeset
   552
    mConfigurations.remove(confId);
53
hgs
parents: 43
diff changeset
   553
    
hgs
parents: 43
diff changeset
   554
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_CLEARCONFIGURATION_EXIT);
39
hgs
parents: 31
diff changeset
   555
}
hgs
parents: 31
diff changeset
   556
hgs
parents: 31
diff changeset
   557
/*!
hgs
parents: 31
diff changeset
   558
 * See WlanWizardHelper::configurationExists().
hgs
parents: 31
diff changeset
   559
 */
hgs
parents: 31
diff changeset
   560
bool WlanWizardPrivate::configurationExists(ConfigurationId confId)
hgs
parents: 31
diff changeset
   561
{
53
hgs
parents: 43
diff changeset
   562
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_CONFIGURATIONEXISTS_ENTRY);
hgs
parents: 43
diff changeset
   563
    
hgs
parents: 43
diff changeset
   564
    OstTrace1(
hgs
parents: 43
diff changeset
   565
        TRACE_DUMP,
hgs
parents: 43
diff changeset
   566
        WLANWIZARDPRIVATE_CONFIGURATIONEXISTS,
39
hgs
parents: 31
diff changeset
   567
        "WlanWizardPrivate::configurationExists;confId=%{ConfigurationId}",
53
hgs
parents: 43
diff changeset
   568
        (uint)confId);
hgs
parents: 43
diff changeset
   569
    
hgs
parents: 43
diff changeset
   570
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_CONFIGURATIONEXISTS_EXIT);
39
hgs
parents: 31
diff changeset
   571
    return mConfigurations[confId].isValid();
hgs
parents: 31
diff changeset
   572
}
hgs
parents: 31
diff changeset
   573
    
hgs
parents: 31
diff changeset
   574
/*!
31
hgs
parents:
diff changeset
   575
   See WlanWizardHelper::enableNextButton().
hgs
parents:
diff changeset
   576
 */
hgs
parents:
diff changeset
   577
void WlanWizardPrivate::enableNextButton(bool enable)
hgs
parents:
diff changeset
   578
{
53
hgs
parents: 43
diff changeset
   579
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_ENABLENEXTBUTTON_ENTRY);
hgs
parents: 43
diff changeset
   580
    
hgs
parents: 43
diff changeset
   581
    OstTraceExt2(
hgs
parents: 43
diff changeset
   582
        TRACE_FLOW,
hgs
parents: 43
diff changeset
   583
        WLANWIZARDPRIVATE_ENABLENEXTBUTTON,
31
hgs
parents:
diff changeset
   584
        "WlanWizardPrivate::enableNextButton;this=%x;enable=%x",
53
hgs
parents: 43
diff changeset
   585
        (unsigned)this,
hgs
parents: 43
diff changeset
   586
        (uint)enable);
31
hgs
parents:
diff changeset
   587
    mActionNext->setEnabled(enable);
53
hgs
parents: 43
diff changeset
   588
    
hgs
parents: 43
diff changeset
   589
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_ENABLENEXTBUTTON_EXIT);
31
hgs
parents:
diff changeset
   590
}
hgs
parents:
diff changeset
   591
hgs
parents:
diff changeset
   592
/*!
hgs
parents:
diff changeset
   593
   See WlanWizardHelper::addPage().
hgs
parents:
diff changeset
   594
 */
hgs
parents:
diff changeset
   595
void WlanWizardPrivate::addPage(int pageId, WlanWizardPage *page)
hgs
parents:
diff changeset
   596
{
53
hgs
parents: 43
diff changeset
   597
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_ADDPAGE_ENTRY);
hgs
parents: 43
diff changeset
   598
    
hgs
parents: 43
diff changeset
   599
    OstTraceExt3(
hgs
parents: 43
diff changeset
   600
        TRACE_FLOW,
hgs
parents: 43
diff changeset
   601
        WLANWIZARDPRIVATE_ADDPAGE, 
31
hgs
parents:
diff changeset
   602
        "WlanWizardPrivate::addPage;this=%x;pageId=%{PageIds};page=%x",
53
hgs
parents: 43
diff changeset
   603
        (unsigned)this,
hgs
parents: 43
diff changeset
   604
        pageId,
hgs
parents: 43
diff changeset
   605
        (uint)(page));
31
hgs
parents:
diff changeset
   606
hgs
parents:
diff changeset
   607
    Q_ASSERT(!mPages.contains(pageId));
hgs
parents:
diff changeset
   608
    mPages[pageId] = page;
53
hgs
parents: 43
diff changeset
   609
    
hgs
parents: 43
diff changeset
   610
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_ADDPAGE_EXIT);
31
hgs
parents:
diff changeset
   611
}
hgs
parents:
diff changeset
   612
hgs
parents:
diff changeset
   613
/*!
hgs
parents:
diff changeset
   614
   See WlanWizardHelper::nextPage().
hgs
parents:
diff changeset
   615
 */
hgs
parents:
diff changeset
   616
void WlanWizardPrivate::nextPage()
hgs
parents:
diff changeset
   617
{
53
hgs
parents: 43
diff changeset
   618
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_NEXTPAGE_ENTRY);
hgs
parents: 43
diff changeset
   619
    
hgs
parents: 43
diff changeset
   620
    OstTrace1(
hgs
parents: 43
diff changeset
   621
        TRACE_FLOW,
hgs
parents: 43
diff changeset
   622
        WLANWIZARDPRIVATE_NEXTPAGE,
31
hgs
parents:
diff changeset
   623
        "WlanWizardPrivate::nextPage;this=%x",
53
hgs
parents: 43
diff changeset
   624
        this);
31
hgs
parents:
diff changeset
   625
    
hgs
parents:
diff changeset
   626
    mPageFinished = true;
hgs
parents:
diff changeset
   627
    toNextPage();
53
hgs
parents: 43
diff changeset
   628
    
hgs
parents: 43
diff changeset
   629
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_NEXTPAGE_EXIT);
31
hgs
parents:
diff changeset
   630
}
hgs
parents:
diff changeset
   631
hgs
parents:
diff changeset
   632
/*!
hgs
parents:
diff changeset
   633
   See WlanWizardHelper::mainWindow().
hgs
parents:
diff changeset
   634
 */
hgs
parents:
diff changeset
   635
HbMainWindow* WlanWizardPrivate::mainWindow() const
hgs
parents:
diff changeset
   636
{
53
hgs
parents: 43
diff changeset
   637
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_MAINWINDOW_ENTRY);
hgs
parents: 43
diff changeset
   638
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_MAINWINDOW_EXIT);
31
hgs
parents:
diff changeset
   639
    return mMainWindow;
hgs
parents:
diff changeset
   640
}
hgs
parents:
diff changeset
   641
hgs
parents:
diff changeset
   642
/*!
hgs
parents:
diff changeset
   643
   See WlanWizardHelper::isCurrentPage().
hgs
parents:
diff changeset
   644
 */
hgs
parents:
diff changeset
   645
bool WlanWizardPrivate::isCurrentPage(const HbWidget *page) const
hgs
parents:
diff changeset
   646
{
53
hgs
parents: 43
diff changeset
   647
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_ISCURRENTPAGE_ENTRY);
hgs
parents: 43
diff changeset
   648
    
31
hgs
parents:
diff changeset
   649
    bool ret = false;
hgs
parents:
diff changeset
   650
    if (mStackedWidget->currentWidget() == page) {
hgs
parents:
diff changeset
   651
        ret = true;
hgs
parents:
diff changeset
   652
    }
hgs
parents:
diff changeset
   653
    
53
hgs
parents: 43
diff changeset
   654
    OstTraceExt2(
hgs
parents: 43
diff changeset
   655
        TRACE_FLOW,
hgs
parents: 43
diff changeset
   656
        WLANWIZARDPRIVATE_ISCURRENTPAGE, 
31
hgs
parents:
diff changeset
   657
        "WlanWizardPrivate::isCurrentPage;page=%x;ret=%d", 
53
hgs
parents: 43
diff changeset
   658
        (uint)page,
hgs
parents: 43
diff changeset
   659
        ret);
31
hgs
parents:
diff changeset
   660
    
53
hgs
parents: 43
diff changeset
   661
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_ISCURRENTPAGE_EXIT);
31
hgs
parents:
diff changeset
   662
    return ret;
hgs
parents:
diff changeset
   663
}
hgs
parents:
diff changeset
   664
hgs
parents:
diff changeset
   665
/*!
hgs
parents:
diff changeset
   666
   See WlanWizardHelper::nextPageId()
hgs
parents:
diff changeset
   667
 */
hgs
parents:
diff changeset
   668
int WlanWizardPrivate::nextPageId(bool useWps)
hgs
parents:
diff changeset
   669
{
53
hgs
parents: 43
diff changeset
   670
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_NEXTPAGEID_ENTRY);
hgs
parents: 43
diff changeset
   671
    
31
hgs
parents:
diff changeset
   672
    int ret;
hgs
parents:
diff changeset
   673
    if (useWps) {
hgs
parents:
diff changeset
   674
        ret = WlanWizardPage::PageWpsStart;
39
hgs
parents: 31
diff changeset
   675
    } else {
hgs
parents: 31
diff changeset
   676
        int secMode = configuration(WlanWizardHelper::ConfSecurityMode).toInt();
hgs
parents: 31
diff changeset
   677
        switch (secMode) {
hgs
parents: 31
diff changeset
   678
        case CMManagerShim::WlanSecModeWep:
hgs
parents: 31
diff changeset
   679
            ret = WlanWizardPageInternal::PageKeyQuery;
hgs
parents: 31
diff changeset
   680
            break;
hgs
parents: 31
diff changeset
   681
            
hgs
parents: 31
diff changeset
   682
        case CMManagerShim::WlanSecModeWpa:
hgs
parents: 31
diff changeset
   683
        case CMManagerShim::WlanSecModeWpa2:
hgs
parents: 31
diff changeset
   684
            if (configuration(WlanWizardHelper::ConfUsePsk).toBool()) {
hgs
parents: 31
diff changeset
   685
                ret = WlanWizardPageInternal::PageKeyQuery;
hgs
parents: 31
diff changeset
   686
            } else {
hgs
parents: 31
diff changeset
   687
                ret = WlanWizardPage::PageEapStart;
hgs
parents: 31
diff changeset
   688
            }
hgs
parents: 31
diff changeset
   689
            break;
hgs
parents: 31
diff changeset
   690
            
hgs
parents: 31
diff changeset
   691
        case CMManagerShim::WlanSecMode802_1x:
hgs
parents: 31
diff changeset
   692
            ret = WlanWizardPage::PageEapStart;
hgs
parents: 31
diff changeset
   693
            break;
hgs
parents: 31
diff changeset
   694
            
hgs
parents: 31
diff changeset
   695
        default:
hgs
parents: 31
diff changeset
   696
            Q_ASSERT(
hgs
parents: 31
diff changeset
   697
                secMode == CMManagerShim::WlanSecModeOpen || 
hgs
parents: 31
diff changeset
   698
                secMode == CMManagerShim::WlanSecModeWapi);
hgs
parents: 31
diff changeset
   699
            
hgs
parents: 31
diff changeset
   700
            setConfiguration(ConfSecurityMode, CMManagerShim::WlanSecModeOpen);
hgs
parents: 31
diff changeset
   701
            ret = WlanWizardPageInternal::PageProcessSettings;
hgs
parents: 31
diff changeset
   702
            break;
hgs
parents: 31
diff changeset
   703
        }
31
hgs
parents:
diff changeset
   704
    }
hgs
parents:
diff changeset
   705
53
hgs
parents: 43
diff changeset
   706
    OstTraceExt3(
hgs
parents: 43
diff changeset
   707
        TRACE_NORMAL,
hgs
parents: 43
diff changeset
   708
        WLANWIZARDPRIVATE_NEXTPAGEID,
31
hgs
parents:
diff changeset
   709
        "WlanWizardPrivate::nextPageId;this=%x;useWps=%x;ret=%{PageIds}",
53
hgs
parents: 43
diff changeset
   710
        (unsigned)this,
hgs
parents: 43
diff changeset
   711
        (TUint)(useWps),
hgs
parents: 43
diff changeset
   712
        ret);
31
hgs
parents:
diff changeset
   713
53
hgs
parents: 43
diff changeset
   714
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_NEXTPAGEID_EXIT);
31
hgs
parents:
diff changeset
   715
    return ret;
hgs
parents:
diff changeset
   716
}
hgs
parents:
diff changeset
   717
hgs
parents:
diff changeset
   718
/*!
hgs
parents:
diff changeset
   719
   Called when Cancel toolbar button is pressed. In case IAP has been created
hgs
parents:
diff changeset
   720
   it will be disconnected and the IAP settings are deleted and finally the
hgs
parents:
diff changeset
   721
   wizard is closed. 
hgs
parents:
diff changeset
   722
   
hgs
parents:
diff changeset
   723
   Indicates also to the current wizard page that cancel has been pressed.
hgs
parents:
diff changeset
   724
 */
hgs
parents:
diff changeset
   725
void WlanWizardPrivate::cancelTriggered()
hgs
parents:
diff changeset
   726
{
53
hgs
parents: 43
diff changeset
   727
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_CANCELTRIGGERED_ENTRY);
hgs
parents: 43
diff changeset
   728
    
hgs
parents: 43
diff changeset
   729
    OstTrace1(
hgs
parents: 43
diff changeset
   730
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   731
        WLANWIZARDPRIVATE_CANCELTRIGGERED,
31
hgs
parents:
diff changeset
   732
        "WlanWizardPrivate::cancelTriggered;this=%x",
53
hgs
parents: 43
diff changeset
   733
        this);
31
hgs
parents:
diff changeset
   734
    
hgs
parents:
diff changeset
   735
    // Disconnect receiving more signals from any actions
hgs
parents:
diff changeset
   736
    disconnectActions();
hgs
parents:
diff changeset
   737
    
hgs
parents:
diff changeset
   738
    mPageTimer->stop();
hgs
parents:
diff changeset
   739
hgs
parents:
diff changeset
   740
    HbWidget *widget = qobject_cast<HbWidget*>(mStackedWidget->currentWidget());
hgs
parents:
diff changeset
   741
    Q_ASSERT(widget);
hgs
parents:
diff changeset
   742
    mPageMapper[widget]->cancelTriggered();
hgs
parents:
diff changeset
   743
hgs
parents:
diff changeset
   744
    int referenceId = configuration(ConfIapId).toInt();
hgs
parents:
diff changeset
   745
    if (referenceId != WlanQtUtils::IapIdNone) {
hgs
parents:
diff changeset
   746
        // call disconnect even if
hgs
parents:
diff changeset
   747
        // - connection is not open
hgs
parents:
diff changeset
   748
        // - connection establishment is ongoing
hgs
parents:
diff changeset
   749
        mWlanQtUtils->disconnectIap(referenceId);
hgs
parents:
diff changeset
   750
        
hgs
parents:
diff changeset
   751
        // if IAP deletion fails, there is nothing we can do with it
hgs
parents:
diff changeset
   752
        mWlanQtUtils->deleteIap(referenceId);
hgs
parents:
diff changeset
   753
        setConfiguration(ConfIapId, WlanQtUtils::IapIdNone);
hgs
parents:
diff changeset
   754
    }
hgs
parents:
diff changeset
   755
    closeViews();
hgs
parents:
diff changeset
   756
    Q_ASSERT(q_ptr);
hgs
parents:
diff changeset
   757
53
hgs
parents: 43
diff changeset
   758
    OstTrace0(
hgs
parents: 43
diff changeset
   759
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   760
        WLANWIZARDPRIVATE_CANCELTRIGGERED_EMIT,
hgs
parents: 43
diff changeset
   761
        "WlanWizardPrivate::cancelTriggered - emit cancelled()");
31
hgs
parents:
diff changeset
   762
    
hgs
parents:
diff changeset
   763
    emit q_ptr->cancelled();
hgs
parents:
diff changeset
   764
    
53
hgs
parents: 43
diff changeset
   765
    OstTrace1(
hgs
parents: 43
diff changeset
   766
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   767
        WLANWIZARDPRIVATE_CANCELTRIGGERED_DONE,
hgs
parents: 43
diff changeset
   768
        "WlanWizardPrivate::cancelTriggered - Done;this=%x",
hgs
parents: 43
diff changeset
   769
        this);
hgs
parents: 43
diff changeset
   770
    
hgs
parents: 43
diff changeset
   771
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_CANCELTRIGGERED_EXIT);
31
hgs
parents:
diff changeset
   772
}
hgs
parents:
diff changeset
   773
hgs
parents:
diff changeset
   774
/*!
hgs
parents:
diff changeset
   775
   Called when Previous toolbar button is pressed. Shows the previous wizard 
hgs
parents:
diff changeset
   776
   page in stacked widget and indicates wizard page that previous has been 
hgs
parents:
diff changeset
   777
   pressed.
hgs
parents:
diff changeset
   778
 */
hgs
parents:
diff changeset
   779
void WlanWizardPrivate::previousTriggered()
hgs
parents:
diff changeset
   780
{
53
hgs
parents: 43
diff changeset
   781
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_PREVIOUSTRIGGERED_ENTRY);
hgs
parents: 43
diff changeset
   782
    
hgs
parents: 43
diff changeset
   783
    OstTrace1(
hgs
parents: 43
diff changeset
   784
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   785
        WLANWIZARDPRIVATE_PREVIOUSTRIGGERED,
31
hgs
parents:
diff changeset
   786
        "WlanWizardPrivate::previousTriggered;this=%x",
53
hgs
parents: 43
diff changeset
   787
        this);
31
hgs
parents:
diff changeset
   788
    
61
hgs
parents: 60
diff changeset
   789
    // Disconnect signals from any actions until we are finished
hgs
parents: 60
diff changeset
   790
    // processing this one
hgs
parents: 60
diff changeset
   791
    disconnectActions();
hgs
parents: 60
diff changeset
   792
    
31
hgs
parents:
diff changeset
   793
    mPageTimer->stop();
hgs
parents:
diff changeset
   794
hgs
parents:
diff changeset
   795
    int index = mStackedWidget->currentIndex();
hgs
parents:
diff changeset
   796
    HbWidget *widget = qobject_cast<HbWidget*>(mStackedWidget->currentWidget());
hgs
parents:
diff changeset
   797
    Q_ASSERT(widget);
hgs
parents:
diff changeset
   798
    int back = mPageMapper[widget]->previousTriggered();
hgs
parents:
diff changeset
   799
hgs
parents:
diff changeset
   800
    // check that at least one page is left in the stack
hgs
parents:
diff changeset
   801
    Q_ASSERT( back < mStackedWidget->count());
hgs
parents:
diff changeset
   802
hgs
parents:
diff changeset
   803
    // When a widget which is last in the stack is removed the currentindex
hgs
parents:
diff changeset
   804
    // is automatically updated.
hgs
parents:
diff changeset
   805
    for (int i = 0; i < back; ++i) {
hgs
parents:
diff changeset
   806
        mStackedWidget->removeAt(index - i);
hgs
parents:
diff changeset
   807
    }
hgs
parents:
diff changeset
   808
hgs
parents:
diff changeset
   809
    widget = qobject_cast<HbWidget*> (mStackedWidget->currentWidget());
hgs
parents:
diff changeset
   810
    Q_ASSERT(widget);
hgs
parents:
diff changeset
   811
    WlanWizardPage* page = mPageMapper[widget];
hgs
parents:
diff changeset
   812
    Q_ASSERT(page);
hgs
parents:
diff changeset
   813
    // In error case if page (value) is not found default contructed key is 
hgs
parents:
diff changeset
   814
    // returned, in this case default value for int is 0 which means PageNone.
hgs
parents:
diff changeset
   815
    updateFrame(mPages.key(page));
hgs
parents:
diff changeset
   816
    enableNextButton(page->showPage());
61
hgs
parents: 60
diff changeset
   817
hgs
parents: 60
diff changeset
   818
    // Reconnect signals from actions
hgs
parents: 60
diff changeset
   819
    connectActions();
31
hgs
parents:
diff changeset
   820
    
53
hgs
parents: 43
diff changeset
   821
    OstTrace1(
hgs
parents: 43
diff changeset
   822
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   823
        WLANWIZARDPRIVATE_PREVIOUSTRIGGERED_DONE,
31
hgs
parents:
diff changeset
   824
        "WlanWizardPrivate::previousTriggered - Done;this=%x",
53
hgs
parents: 43
diff changeset
   825
        this);
hgs
parents: 43
diff changeset
   826
    
hgs
parents: 43
diff changeset
   827
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_PREVIOUSTRIGGERED_EXIT);
31
hgs
parents:
diff changeset
   828
}
hgs
parents:
diff changeset
   829
hgs
parents:
diff changeset
   830
/*!
hgs
parents:
diff changeset
   831
   Next toolbar button has been pressed. Wizard framework asks from the current
hgs
parents:
diff changeset
   832
   page what should be the next page id and shows it.
hgs
parents:
diff changeset
   833
 */
hgs
parents:
diff changeset
   834
void WlanWizardPrivate::nextTriggered()
hgs
parents:
diff changeset
   835
{
53
hgs
parents: 43
diff changeset
   836
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_NEXTTRIGGERED_ENTRY);
hgs
parents: 43
diff changeset
   837
    
hgs
parents: 43
diff changeset
   838
    OstTrace1(
hgs
parents: 43
diff changeset
   839
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   840
        WLANWIZARDPRIVATE_NEXTTRIGGERED,
31
hgs
parents:
diff changeset
   841
        "WlanWizardPrivate::nextTriggered;this=%x",
53
hgs
parents: 43
diff changeset
   842
        this);
31
hgs
parents:
diff changeset
   843
    
61
hgs
parents: 60
diff changeset
   844
    // Disconnect signals from any actions until we are finished
hgs
parents: 60
diff changeset
   845
    // processing this one
hgs
parents: 60
diff changeset
   846
    disconnectActions();
hgs
parents: 60
diff changeset
   847
    
31
hgs
parents:
diff changeset
   848
    mPageTimer->stop();
hgs
parents:
diff changeset
   849
hgs
parents:
diff changeset
   850
    HbWidget *widget = qobject_cast<HbWidget*>(mStackedWidget->currentWidget());
hgs
parents:
diff changeset
   851
    Q_ASSERT(widget);
hgs
parents:
diff changeset
   852
hgs
parents:
diff changeset
   853
    bool removeFromStack;
hgs
parents:
diff changeset
   854
    int pageId = mPageMapper[widget]->nextId(removeFromStack);
hgs
parents:
diff changeset
   855
    showPage(pageId, removeFromStack);
hgs
parents:
diff changeset
   856
    
61
hgs
parents: 60
diff changeset
   857
    // Reconnect signals from actions
hgs
parents: 60
diff changeset
   858
    connectActions();
hgs
parents: 60
diff changeset
   859
    
53
hgs
parents: 43
diff changeset
   860
    OstTrace1(
hgs
parents: 43
diff changeset
   861
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   862
        WLANWIZARDPRIVATE_NEXTTRIGGERED_DONE,
31
hgs
parents:
diff changeset
   863
        "WlanWizardPrivate::nextTriggered - Done;this=%x",
53
hgs
parents: 43
diff changeset
   864
        this);
hgs
parents: 43
diff changeset
   865
    
hgs
parents: 43
diff changeset
   866
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_NEXTTRIGGERED_EXIT);
31
hgs
parents:
diff changeset
   867
}
hgs
parents:
diff changeset
   868
hgs
parents:
diff changeset
   869
/*!
hgs
parents:
diff changeset
   870
   Finish button has been pressed. Closes the wizard and sends finished()
hgs
parents:
diff changeset
   871
   signal to the client. 
hgs
parents:
diff changeset
   872
 */
hgs
parents:
diff changeset
   873
void WlanWizardPrivate::finishTriggered()
hgs
parents:
diff changeset
   874
{
53
hgs
parents: 43
diff changeset
   875
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_FINISHTRIGGERED_ENTRY);
hgs
parents: 43
diff changeset
   876
    
hgs
parents: 43
diff changeset
   877
    OstTrace1(
hgs
parents: 43
diff changeset
   878
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   879
        WLANWIZARDPRIVATE_FINISHTRIGGERED,
31
hgs
parents:
diff changeset
   880
        "WlanWizardPrivate::finishTriggered;this=%x",
53
hgs
parents: 43
diff changeset
   881
        this);
31
hgs
parents:
diff changeset
   882
    
hgs
parents:
diff changeset
   883
    // Disconnect receiving more signals from any actions
hgs
parents:
diff changeset
   884
    disconnectActions();
hgs
parents:
diff changeset
   885
    
hgs
parents:
diff changeset
   886
    mPageTimer->stop();
hgs
parents:
diff changeset
   887
    closeViews();
hgs
parents:
diff changeset
   888
hgs
parents:
diff changeset
   889
    Q_ASSERT(q_ptr);
hgs
parents:
diff changeset
   890
    emit q_ptr->finished(
hgs
parents:
diff changeset
   891
        configuration(ConfIapId).toInt(), 
hgs
parents:
diff changeset
   892
        configuration(ConfConnected).toBool());
hgs
parents:
diff changeset
   893
    
53
hgs
parents: 43
diff changeset
   894
    OstTrace1(
hgs
parents: 43
diff changeset
   895
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   896
        WLANWIZARDPRIVATE_FINISHTRIGGERED_DONE,
31
hgs
parents:
diff changeset
   897
        "WlanWizardPrivate::finishTriggered - Done;this=%x",
53
hgs
parents: 43
diff changeset
   898
        this);
hgs
parents: 43
diff changeset
   899
    
hgs
parents: 43
diff changeset
   900
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_FINISHTRIGGERED_EXIT);
31
hgs
parents:
diff changeset
   901
}
hgs
parents:
diff changeset
   902
hgs
parents:
diff changeset
   903
/*!
hgs
parents:
diff changeset
   904
   In case wizard page is using timer protection for the page, this is the
hgs
parents:
diff changeset
   905
   slot to handle the callback from the timer.
hgs
parents:
diff changeset
   906
 */
hgs
parents:
diff changeset
   907
void WlanWizardPrivate::onTimeOut()
hgs
parents:
diff changeset
   908
{
53
hgs
parents: 43
diff changeset
   909
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_ONTIMEOUT_ENTRY);
hgs
parents: 43
diff changeset
   910
    
hgs
parents: 43
diff changeset
   911
    OstTrace1(
hgs
parents: 43
diff changeset
   912
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   913
        WLANWIZARDPRIVATE_ONTIMEOUT,
31
hgs
parents:
diff changeset
   914
        "WlanWizardPrivate::onTimeOut;this=%x",
53
hgs
parents: 43
diff changeset
   915
        this);
31
hgs
parents:
diff changeset
   916
    
hgs
parents:
diff changeset
   917
    toNextPage();
hgs
parents:
diff changeset
   918
    
53
hgs
parents: 43
diff changeset
   919
    OstTrace1(
hgs
parents: 43
diff changeset
   920
        TRACE_BORDER,
hgs
parents: 43
diff changeset
   921
        WLANWIZARDPRIVATE_ONTIMEOUT_DONE,
31
hgs
parents:
diff changeset
   922
        "WlanWizardPrivate::onTimeOut - Done;this=%x",
53
hgs
parents: 43
diff changeset
   923
        this);
hgs
parents: 43
diff changeset
   924
    
hgs
parents: 43
diff changeset
   925
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_ONTIMEOUT_EXIT);
31
hgs
parents:
diff changeset
   926
}
hgs
parents:
diff changeset
   927
hgs
parents:
diff changeset
   928
/*!
hgs
parents:
diff changeset
   929
   Slot to start wizard page operation asynchronous. Starts also the timer
hgs
parents:
diff changeset
   930
   to protect the wizard page.
hgs
parents:
diff changeset
   931
 */
hgs
parents:
diff changeset
   932
void WlanWizardPrivate::startPageOperation()
hgs
parents:
diff changeset
   933
{
53
hgs
parents: 43
diff changeset
   934
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_STARTPAGEOPERATION_ENTRY);
hgs
parents: 43
diff changeset
   935
    
31
hgs
parents:
diff changeset
   936
    // Process this if wizard has not been closed
hgs
parents:
diff changeset
   937
    if (mClosed == false) {
53
hgs
parents: 43
diff changeset
   938
        OstTrace1(
hgs
parents: 43
diff changeset
   939
            TRACE_BORDER,
hgs
parents: 43
diff changeset
   940
            WLANWIZARDPRIVATE_STARTPAGEOPERATION,
31
hgs
parents:
diff changeset
   941
            "WlanWizardPrivate::startPageOperation;this=%x",
53
hgs
parents: 43
diff changeset
   942
            this);
31
hgs
parents:
diff changeset
   943
        
hgs
parents:
diff changeset
   944
        HbWidget *widget = 
hgs
parents:
diff changeset
   945
            qobject_cast<HbWidget*>(mStackedWidget->currentWidget());
hgs
parents:
diff changeset
   946
        Q_ASSERT(widget);
hgs
parents:
diff changeset
   947
        mPageFinished = false;
hgs
parents:
diff changeset
   948
        mPageTimer->start(PageTimeout);
hgs
parents:
diff changeset
   949
        mPageMapper[widget]->startOperation();
hgs
parents:
diff changeset
   950
        
53
hgs
parents: 43
diff changeset
   951
        OstTrace1(
hgs
parents: 43
diff changeset
   952
            TRACE_BORDER,
hgs
parents: 43
diff changeset
   953
            WLANWIZARDPRIVATE_STARTPAGEOPERATION_DONE,
31
hgs
parents:
diff changeset
   954
            "WlanWizardPrivate::startPageOperation - DONE;this=%x",
53
hgs
parents: 43
diff changeset
   955
            this);
31
hgs
parents:
diff changeset
   956
    }
53
hgs
parents: 43
diff changeset
   957
    
hgs
parents: 43
diff changeset
   958
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_STARTPAGEOPERATION_EXIT);
31
hgs
parents:
diff changeset
   959
}
hgs
parents:
diff changeset
   960
hgs
parents:
diff changeset
   961
/*!
hgs
parents:
diff changeset
   962
   In case the wizard page uses timer protection this method determines when
hgs
parents:
diff changeset
   963
   the next page is shown.
hgs
parents:
diff changeset
   964
 */
hgs
parents:
diff changeset
   965
void WlanWizardPrivate::toNextPage()
hgs
parents:
diff changeset
   966
{
53
hgs
parents: 43
diff changeset
   967
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_TONEXTPAGE_ENTRY);
hgs
parents: 43
diff changeset
   968
    
31
hgs
parents:
diff changeset
   969
    if (mPageFinished && !(mPageTimer->isActive())) {
53
hgs
parents: 43
diff changeset
   970
        OstTrace1(
hgs
parents: 43
diff changeset
   971
            TRACE_FLOW,
hgs
parents: 43
diff changeset
   972
            WLANWIZARDPRIVATE_TONEXTPAGE,
31
hgs
parents:
diff changeset
   973
            "WlanWizardPrivate::toNextPage;this=%x",
53
hgs
parents: 43
diff changeset
   974
            this);
31
hgs
parents:
diff changeset
   975
        
hgs
parents:
diff changeset
   976
        // process this asynchronous. Main purpose is to release the current
hgs
parents:
diff changeset
   977
        // call stack and process the page change using new call stack
hgs
parents:
diff changeset
   978
        QMetaObject::invokeMethod(this, "nextTriggered", Qt::QueuedConnection);
hgs
parents:
diff changeset
   979
    }
53
hgs
parents: 43
diff changeset
   980
    
hgs
parents: 43
diff changeset
   981
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_TONEXTPAGE_EXIT);
31
hgs
parents:
diff changeset
   982
}
hgs
parents:
diff changeset
   983
hgs
parents:
diff changeset
   984
/*!
hgs
parents:
diff changeset
   985
   Show requested page and removes the current wizard page from the stack if
hgs
parents:
diff changeset
   986
   required. This method updates the title and toolbar accordingly.
hgs
parents:
diff changeset
   987
   
hgs
parents:
diff changeset
   988
   See WlanWizardPage::nextId()
hgs
parents:
diff changeset
   989
   
hgs
parents:
diff changeset
   990
   @param [in] pageId Wizard Page ID to be shown
hgs
parents:
diff changeset
   991
   @param [in] removeFromStack if true the current wizard page is removed from
hgs
parents:
diff changeset
   992
                               the stackedwidget. 
hgs
parents:
diff changeset
   993
 */
hgs
parents:
diff changeset
   994
void WlanWizardPrivate::showPage(int pageId, bool removeFromStack)
hgs
parents:
diff changeset
   995
{
53
hgs
parents: 43
diff changeset
   996
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_SHOWPAGE_ENTRY);
hgs
parents: 43
diff changeset
   997
    
hgs
parents: 43
diff changeset
   998
    OstTraceExt3(
hgs
parents: 43
diff changeset
   999
        TRACE_FLOW,
hgs
parents: 43
diff changeset
  1000
        WLANWIZARDPRIVATE_SHOWPAGE,
31
hgs
parents:
diff changeset
  1001
        "WlanWizardPrivate::showPage;this=%x;"
hgs
parents:
diff changeset
  1002
        "pageId=%{PageIds};removeFromStack=%x",
53
hgs
parents: 43
diff changeset
  1003
        (unsigned)this,
hgs
parents: 43
diff changeset
  1004
        pageId,
hgs
parents: 43
diff changeset
  1005
        (TUint)(removeFromStack));
31
hgs
parents:
diff changeset
  1006
    
hgs
parents:
diff changeset
  1007
    // PageNone is returned by wizard pages when some validation of page content
hgs
parents:
diff changeset
  1008
    // has not passed and the page does not want to process wizard to next page
hgs
parents:
diff changeset
  1009
    if (pageId == WlanWizardPage::PageNone) {
53
hgs
parents: 43
diff changeset
  1010
        OstTraceFunctionExit0(WLANWIZARDPRIVATE_SHOWPAGE_EXIT);
31
hgs
parents:
diff changeset
  1011
        return;
hgs
parents:
diff changeset
  1012
    }
hgs
parents:
diff changeset
  1013
    
hgs
parents:
diff changeset
  1014
    //  PageProcessSettings is shown only when WLAN AP is found in scanning
hgs
parents:
diff changeset
  1015
    // 1/ when client calls setParameters()
hgs
parents:
diff changeset
  1016
    // 2/ scanning page has found match with given SSID
hgs
parents:
diff changeset
  1017
    if (pageId == WlanWizardPage::PageProcessSettings) {
hgs
parents:
diff changeset
  1018
        if (configuration(ConfProcessSettings).toBool() == false) {
60
hgs
parents: 53
diff changeset
  1019
            if (handleIap()) {
hgs
parents: 53
diff changeset
  1020
                // Manually added IAP is by default an Internet IAP if
hgs
parents: 53
diff changeset
  1021
                // we can not run the internet connectivity test.
hgs
parents: 53
diff changeset
  1022
                mWlanQtUtils->moveIapToInternetSnap(configuration(ConfIapId).toInt());
31
hgs
parents:
diff changeset
  1023
                pageId = WlanWizardPageInternal::PageSummary;
hgs
parents:
diff changeset
  1024
            } else {
hgs
parents:
diff changeset
  1025
                pageId = WlanWizardPage::PageGenericError;
hgs
parents:
diff changeset
  1026
                setConfiguration(
hgs
parents:
diff changeset
  1027
                    ConfGenericErrorString, 
hgs
parents:
diff changeset
  1028
                    hbTrId("txt_occ_dialog_unable_to_save_settings_please_ret"));
39
hgs
parents: 31
diff changeset
  1029
                
hgs
parents: 31
diff changeset
  1030
                setConfiguration(
hgs
parents: 31
diff changeset
  1031
                    ConfGenericErrorPageStepsBackwards, 
hgs
parents: 31
diff changeset
  1032
                    WlanWizardPage::OneStepBackwards);
31
hgs
parents:
diff changeset
  1033
            }
53
hgs
parents: 43
diff changeset
  1034
            OstTraceExt2(
hgs
parents: 43
diff changeset
  1035
                TRACE_FLOW,
hgs
parents: 43
diff changeset
  1036
                WLANWIZARDPRIVATE_SHOWPAGE_UPDATE,
31
hgs
parents:
diff changeset
  1037
                "WlanWizardPrivate::showPage - change page;this=%x;"
hgs
parents:
diff changeset
  1038
                "pageId=%{PageIds}",
53
hgs
parents: 43
diff changeset
  1039
                (unsigned)this,
hgs
parents: 43
diff changeset
  1040
                pageId);
31
hgs
parents:
diff changeset
  1041
        }
hgs
parents:
diff changeset
  1042
    }
hgs
parents:
diff changeset
  1043
hgs
parents:
diff changeset
  1044
    // Create visualization of next page and store it to mappers
hgs
parents:
diff changeset
  1045
    WlanWizardPage* page = mPages[pageId];
hgs
parents:
diff changeset
  1046
    Q_ASSERT(page);
hgs
parents:
diff changeset
  1047
    HbWidget* widget = page->initializePage();
hgs
parents:
diff changeset
  1048
    Q_ASSERT(widget);
hgs
parents:
diff changeset
  1049
    mPageMapper[widget] = page;
hgs
parents:
diff changeset
  1050
hgs
parents:
diff changeset
  1051
    // index calculation has to be happened before adding new widget into
hgs
parents:
diff changeset
  1052
    // the stacked widget. Since the internal implementation of stackedwidget
hgs
parents:
diff changeset
  1053
    // sets the first widget in the stack to current widget..
hgs
parents:
diff changeset
  1054
    // and when there are not any widgets in the stack the current index is
hgs
parents:
diff changeset
  1055
    // -1. Valid index starts from 0.
hgs
parents:
diff changeset
  1056
    int index = mStackedWidget->currentIndex();
hgs
parents:
diff changeset
  1057
hgs
parents:
diff changeset
  1058
    if (removeFromStack) {
hgs
parents:
diff changeset
  1059
        // widget is removed from the stacked widget, not deleted
hgs
parents:
diff changeset
  1060
        mStackedWidget->removeAt(index);
hgs
parents:
diff changeset
  1061
    } else {
hgs
parents:
diff changeset
  1062
        index++;
hgs
parents:
diff changeset
  1063
    }
hgs
parents:
diff changeset
  1064
    mStackedWidget->addWidget(widget);
hgs
parents:
diff changeset
  1065
    mStackedWidget->setCurrentIndex(index);
hgs
parents:
diff changeset
  1066
    updateFrame(pageId);
hgs
parents:
diff changeset
  1067
    enableNextButton(page->showPage());    
hgs
parents:
diff changeset
  1068
hgs
parents:
diff changeset
  1069
    // If wizard page needs to start some control operation trigger it 
hgs
parents:
diff changeset
  1070
    // asyncronously so that the UI gets more priority to get painted correctly
hgs
parents:
diff changeset
  1071
    // before any operation takes place in wizard page. This is important for
hgs
parents:
diff changeset
  1072
    // timer protected pages. Makes wizard to work smother from UI perspective
hgs
parents:
diff changeset
  1073
    if (page->requiresStartOperation()) {
53
hgs
parents: 43
diff changeset
  1074
        OstTrace0(
hgs
parents: 43
diff changeset
  1075
            TRACE_FLOW,
hgs
parents: 43
diff changeset
  1076
            WLANWIZARDPRIVATE_SHOWPAGE_INVOKE,
hgs
parents: 43
diff changeset
  1077
            "WlanWizardPrivate::showPage - Invoke startOperation");
31
hgs
parents:
diff changeset
  1078
        
hgs
parents:
diff changeset
  1079
        QMetaObject::invokeMethod(this, "startPageOperation", Qt::QueuedConnection);
hgs
parents:
diff changeset
  1080
    }
53
hgs
parents: 43
diff changeset
  1081
    
hgs
parents: 43
diff changeset
  1082
    OstTraceFunctionExit0(DUP1_WLANWIZARDPRIVATE_SHOWPAGE_EXIT);
31
hgs
parents:
diff changeset
  1083
}
hgs
parents:
diff changeset
  1084
hgs
parents:
diff changeset
  1085
/*!
hgs
parents:
diff changeset
  1086
   Creates all control objects of WLAN wizard pages which are inherited from
hgs
parents:
diff changeset
  1087
   WlanWizardPage and adds those into a internal database. 
hgs
parents:
diff changeset
  1088
 */
hgs
parents:
diff changeset
  1089
void WlanWizardPrivate::createPages()
hgs
parents:
diff changeset
  1090
{
53
hgs
parents: 43
diff changeset
  1091
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_CREATEPAGES_ENTRY);
hgs
parents: 43
diff changeset
  1092
    
39
hgs
parents: 31
diff changeset
  1093
    OstTrace0(
hgs
parents: 31
diff changeset
  1094
        TRACE_NORMAL,
hgs
parents: 31
diff changeset
  1095
        WLANWIZARDPRIVATE_CREATEPAGES,
hgs
parents: 31
diff changeset
  1096
        "WlanWizardPrivate::createPages");
31
hgs
parents:
diff changeset
  1097
    
39
hgs
parents: 31
diff changeset
  1098
    addPage(
hgs
parents: 31
diff changeset
  1099
        WlanWizardPageInternal::PageKeyQuery, 
31
hgs
parents:
diff changeset
  1100
        new WlanWizardPageKeyQuery(this));
hgs
parents:
diff changeset
  1101
    
39
hgs
parents: 31
diff changeset
  1102
    addPage(
hgs
parents: 31
diff changeset
  1103
        WlanWizardPageInternal::PageProcessSettings, 
31
hgs
parents:
diff changeset
  1104
        new WlanWizardPageProcessingSettings(this));
hgs
parents:
diff changeset
  1105
    
39
hgs
parents: 31
diff changeset
  1106
    addPage(
hgs
parents: 31
diff changeset
  1107
        WlanWizardPageInternal::PageSummary, 
31
hgs
parents:
diff changeset
  1108
        new WlanWizardPageSummary(this));
hgs
parents:
diff changeset
  1109
39
hgs
parents: 31
diff changeset
  1110
    addPage(
hgs
parents: 31
diff changeset
  1111
        WlanWizardPageInternal::PageGenericError, 
31
hgs
parents:
diff changeset
  1112
        new WlanWizardPageGenericError(this));
hgs
parents:
diff changeset
  1113
    
39
hgs
parents: 31
diff changeset
  1114
    addPage(
hgs
parents: 31
diff changeset
  1115
        WlanWizardPageInternal::PageSsid,
hgs
parents: 31
diff changeset
  1116
        new WlanWizardPageSsid(this));
31
hgs
parents:
diff changeset
  1117
    
39
hgs
parents: 31
diff changeset
  1118
    addPage(
hgs
parents: 31
diff changeset
  1119
        WlanWizardPageInternal::PageScanning, 
31
hgs
parents:
diff changeset
  1120
        new WlanWizardPageScanning(this));
hgs
parents:
diff changeset
  1121
    
39
hgs
parents: 31
diff changeset
  1122
    addPage(
hgs
parents: 31
diff changeset
  1123
        WlanWizardPageInternal::PageNetworkMode, 
31
hgs
parents:
diff changeset
  1124
        new WlanWizardPageNetworkMode(this));
hgs
parents:
diff changeset
  1125
    
39
hgs
parents: 31
diff changeset
  1126
    addPage(
hgs
parents: 31
diff changeset
  1127
        WlanWizardPageInternal::PageNetworkSecurity, 
31
hgs
parents:
diff changeset
  1128
        new WlanWizardPageSecurityMode(this));
53
hgs
parents: 43
diff changeset
  1129
    
hgs
parents: 43
diff changeset
  1130
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_CREATEPAGES_EXIT);
31
hgs
parents:
diff changeset
  1131
}
hgs
parents:
diff changeset
  1132
hgs
parents:
diff changeset
  1133
/*!
hgs
parents:
diff changeset
  1134
   Called when wizard is closed 
hgs
parents:
diff changeset
  1135
   - cancelled by the user
hgs
parents:
diff changeset
  1136
   - finished by the user
hgs
parents:
diff changeset
  1137
 */
hgs
parents:
diff changeset
  1138
void WlanWizardPrivate::closeViews()
hgs
parents:
diff changeset
  1139
{
53
hgs
parents: 43
diff changeset
  1140
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_CLOSEVIEWS_ENTRY);
hgs
parents: 43
diff changeset
  1141
    
39
hgs
parents: 31
diff changeset
  1142
    mDialog->hide();
31
hgs
parents:
diff changeset
  1143
    mClosed = true;
53
hgs
parents: 43
diff changeset
  1144
    
hgs
parents: 43
diff changeset
  1145
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_CLOSEVIEWS_EXIT);
31
hgs
parents:
diff changeset
  1146
}
hgs
parents:
diff changeset
  1147
hgs
parents:
diff changeset
  1148
/*!
hgs
parents:
diff changeset
  1149
   This method takes care of the title of wizard and toolbutton. Correct items
hgs
parents:
diff changeset
  1150
   are selected based on the \a pageId and the amount of objects in the stacked
hgs
parents:
diff changeset
  1151
   widget.
hgs
parents:
diff changeset
  1152
   
hgs
parents:
diff changeset
  1153
   @param [in] pageId Wizard Page Id
hgs
parents:
diff changeset
  1154
 */
hgs
parents:
diff changeset
  1155
void WlanWizardPrivate::updateFrame(int pageId)
hgs
parents:
diff changeset
  1156
{
53
hgs
parents: 43
diff changeset
  1157
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_UPDATEFRAME_ENTRY);
hgs
parents: 43
diff changeset
  1158
    
31
hgs
parents:
diff changeset
  1159
    int currentIndex = mStackedWidget->currentIndex();
hgs
parents:
diff changeset
  1160
53
hgs
parents: 43
diff changeset
  1161
    OstTraceExt3(
hgs
parents: 43
diff changeset
  1162
        TRACE_FLOW,
hgs
parents: 43
diff changeset
  1163
        WLANWIZARDPRIVATE_UPDATEFRAME, 
31
hgs
parents:
diff changeset
  1164
        "WlanWizardPrivate::updateFrame;this=%x;pageId=%{PageIds};currentIndex=%d",
53
hgs
parents: 43
diff changeset
  1165
        (unsigned)this,
hgs
parents: 43
diff changeset
  1166
        pageId,
hgs
parents: 43
diff changeset
  1167
        (uint)(currentIndex));
31
hgs
parents:
diff changeset
  1168
    
hgs
parents:
diff changeset
  1169
    // For last page (summary) show Finish instead of Next button
hgs
parents:
diff changeset
  1170
    if (pageId == WlanWizardPageInternal::PageSummary) {
hgs
parents:
diff changeset
  1171
        mTitle->setPlainText(hbTrId("txt_occ_title_wlan_setup_wizard_summary"));
hgs
parents:
diff changeset
  1172
        mActionFinish->setVisible(true);
hgs
parents:
diff changeset
  1173
        mActionNext->setVisible(false);
hgs
parents:
diff changeset
  1174
        mActionPrevious->setVisible(false);
hgs
parents:
diff changeset
  1175
    } else {
hgs
parents:
diff changeset
  1176
        // Index starts from zero, wizard page numbering starts from one.
hgs
parents:
diff changeset
  1177
        mTitle->setPlainText(
hgs
parents:
diff changeset
  1178
            hbTrId("txt_occ_title_wlan_setup_wizard_step_l1").arg(
hgs
parents:
diff changeset
  1179
                currentIndex + 1));
hgs
parents:
diff changeset
  1180
        mActionFinish->setVisible(false);
hgs
parents:
diff changeset
  1181
        mActionNext->setVisible(true);
hgs
parents:
diff changeset
  1182
hgs
parents:
diff changeset
  1183
        // If first page is shown then Previous button is disabled
hgs
parents:
diff changeset
  1184
        if (currentIndex < 1) {
hgs
parents:
diff changeset
  1185
            mActionPrevious->setVisible(false);
hgs
parents:
diff changeset
  1186
        } else {
hgs
parents:
diff changeset
  1187
            mActionPrevious->setVisible(true);
hgs
parents:
diff changeset
  1188
            if (pageId == WlanWizardPage::PageProcessSettings) {
hgs
parents:
diff changeset
  1189
                mActionPrevious->setEnabled(false);
hgs
parents:
diff changeset
  1190
            } else {
hgs
parents:
diff changeset
  1191
                mActionPrevious->setEnabled(true);
hgs
parents:
diff changeset
  1192
            }
hgs
parents:
diff changeset
  1193
        }
hgs
parents:
diff changeset
  1194
    }
53
hgs
parents: 43
diff changeset
  1195
    
hgs
parents: 43
diff changeset
  1196
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_UPDATEFRAME_EXIT);
31
hgs
parents:
diff changeset
  1197
}
hgs
parents:
diff changeset
  1198
hgs
parents:
diff changeset
  1199
/*!
hgs
parents:
diff changeset
  1200
   Loads widgets and objects from the docml file. 
hgs
parents:
diff changeset
  1201
 */
hgs
parents:
diff changeset
  1202
void WlanWizardPrivate::loadDocml()
hgs
parents:
diff changeset
  1203
{
53
hgs
parents: 43
diff changeset
  1204
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_LOADDOCML_ENTRY);
hgs
parents: 43
diff changeset
  1205
    
31
hgs
parents:
diff changeset
  1206
    bool ok = true;
hgs
parents:
diff changeset
  1207
    
hgs
parents:
diff changeset
  1208
    mDocLoader->load(":/docml/occ_wlan_wizard_main.docml", &ok);
hgs
parents:
diff changeset
  1209
    Q_ASSERT(ok);
hgs
parents:
diff changeset
  1210
hgs
parents:
diff changeset
  1211
    mDialog.reset( qobject_cast<HbDialog*> (mDocLoader->findWidget("dialog")) );
hgs
parents:
diff changeset
  1212
    Q_ASSERT(mDialog != NULL);
hgs
parents:
diff changeset
  1213
hgs
parents:
diff changeset
  1214
    mTitle = qobject_cast<HbLabel*> (mDocLoader->findWidget("title"));
hgs
parents:
diff changeset
  1215
    Q_ASSERT(mTitle != NULL);
hgs
parents:
diff changeset
  1216
hgs
parents:
diff changeset
  1217
    mStackedWidget = 
hgs
parents:
diff changeset
  1218
        qobject_cast<HbStackedWidget*> (mDocLoader->findWidget("stackedWidget"));
hgs
parents:
diff changeset
  1219
    Q_ASSERT(mStackedWidget != NULL);
hgs
parents:
diff changeset
  1220
hgs
parents:
diff changeset
  1221
    mActionNext = qobject_cast<HbAction*> (mDocLoader->findObject("actionNext"));
hgs
parents:
diff changeset
  1222
    Q_ASSERT(mActionNext != NULL);
hgs
parents:
diff changeset
  1223
hgs
parents:
diff changeset
  1224
    mActionPrevious = 
hgs
parents:
diff changeset
  1225
        qobject_cast<HbAction*> (mDocLoader->findObject("actionPrevious"));
hgs
parents:
diff changeset
  1226
    Q_ASSERT(mActionPrevious != NULL);
hgs
parents:
diff changeset
  1227
hgs
parents:
diff changeset
  1228
    mActionFinish = 
hgs
parents:
diff changeset
  1229
        qobject_cast<HbAction*> (mDocLoader->findObject("actionFinish"));
hgs
parents:
diff changeset
  1230
    Q_ASSERT(mActionFinish != NULL);
hgs
parents:
diff changeset
  1231
hgs
parents:
diff changeset
  1232
    mActionCancel = 
hgs
parents:
diff changeset
  1233
        qobject_cast<HbAction*> (mDocLoader->findObject("actionCancel"));
hgs
parents:
diff changeset
  1234
    Q_ASSERT(mActionCancel != NULL);
hgs
parents:
diff changeset
  1235
    
hgs
parents:
diff changeset
  1236
    // Actions are added from left to right to the toolbar of dialog
hgs
parents:
diff changeset
  1237
    mDialog->addAction(mActionPrevious);
hgs
parents:
diff changeset
  1238
    mDialog->addAction(mActionCancel);
hgs
parents:
diff changeset
  1239
    mDialog->addAction(mActionNext);
hgs
parents:
diff changeset
  1240
    mDialog->addAction(mActionFinish);
hgs
parents:
diff changeset
  1241
    
hgs
parents:
diff changeset
  1242
    ok = connect(mPageTimer, SIGNAL(timeout()), this, SLOT(onTimeOut()));
hgs
parents:
diff changeset
  1243
    Q_ASSERT(ok);
hgs
parents:
diff changeset
  1244
    
61
hgs
parents: 60
diff changeset
  1245
    connectActions();
hgs
parents: 60
diff changeset
  1246
    
hgs
parents: 60
diff changeset
  1247
    ok = HbStyleLoader::registerFilePath(":/css/custom.css");
hgs
parents: 60
diff changeset
  1248
    Q_ASSERT(ok);
hgs
parents: 60
diff changeset
  1249
hgs
parents: 60
diff changeset
  1250
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_LOADDOCML_EXIT);
hgs
parents: 60
diff changeset
  1251
}
hgs
parents: 60
diff changeset
  1252
hgs
parents: 60
diff changeset
  1253
/*!
hgs
parents: 60
diff changeset
  1254
   Connect triggered() signals from all toolbar actions.
hgs
parents: 60
diff changeset
  1255
 */
hgs
parents: 60
diff changeset
  1256
void WlanWizardPrivate::connectActions()
hgs
parents: 60
diff changeset
  1257
{
hgs
parents: 60
diff changeset
  1258
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_CONNECTACTIONS_ENTRY);
hgs
parents: 60
diff changeset
  1259
    
hgs
parents: 60
diff changeset
  1260
    bool ok = connect(
53
hgs
parents: 43
diff changeset
  1261
        mActionNext,
hgs
parents: 43
diff changeset
  1262
        SIGNAL(triggered()), 
hgs
parents: 43
diff changeset
  1263
        this,
hgs
parents: 43
diff changeset
  1264
        SLOT(nextTriggered()));
31
hgs
parents:
diff changeset
  1265
    Q_ASSERT(ok);
hgs
parents:
diff changeset
  1266
    
hgs
parents:
diff changeset
  1267
    ok = connect(
53
hgs
parents: 43
diff changeset
  1268
        mActionPrevious,
hgs
parents: 43
diff changeset
  1269
        SIGNAL(triggered()), 
hgs
parents: 43
diff changeset
  1270
        this,
hgs
parents: 43
diff changeset
  1271
        SLOT(previousTriggered()));
31
hgs
parents:
diff changeset
  1272
    Q_ASSERT(ok);
hgs
parents:
diff changeset
  1273
    
hgs
parents:
diff changeset
  1274
    ok = connect(
53
hgs
parents: 43
diff changeset
  1275
        mActionFinish,
hgs
parents: 43
diff changeset
  1276
        SIGNAL(triggered()), 
hgs
parents: 43
diff changeset
  1277
        this,
hgs
parents: 43
diff changeset
  1278
        SLOT(finishTriggered()));
31
hgs
parents:
diff changeset
  1279
    Q_ASSERT(ok);
61
hgs
parents: 60
diff changeset
  1280
hgs
parents: 60
diff changeset
  1281
    ok =connect(
53
hgs
parents: 43
diff changeset
  1282
        mActionCancel,
hgs
parents: 43
diff changeset
  1283
        SIGNAL(triggered()), 
hgs
parents: 43
diff changeset
  1284
        this,
hgs
parents: 43
diff changeset
  1285
        SLOT(cancelTriggered()));
31
hgs
parents:
diff changeset
  1286
    Q_ASSERT(ok);
61
hgs
parents: 60
diff changeset
  1287
    
hgs
parents: 60
diff changeset
  1288
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_CONNECTACTIONS_EXIT);
31
hgs
parents:
diff changeset
  1289
}
hgs
parents:
diff changeset
  1290
hgs
parents:
diff changeset
  1291
/*!
hgs
parents:
diff changeset
  1292
   Disconnect receiving triggered() signal from any toolbar action.
hgs
parents:
diff changeset
  1293
 */
hgs
parents:
diff changeset
  1294
void WlanWizardPrivate::disconnectActions()
hgs
parents:
diff changeset
  1295
{
53
hgs
parents: 43
diff changeset
  1296
    OstTraceFunctionEntry0(WLANWIZARDPRIVATE_DISCONNECTACTIONS_ENTRY);
hgs
parents: 43
diff changeset
  1297
    
31
hgs
parents:
diff changeset
  1298
    disconnect(
53
hgs
parents: 43
diff changeset
  1299
        mActionNext,
hgs
parents: 43
diff changeset
  1300
        SIGNAL(triggered()), 
hgs
parents: 43
diff changeset
  1301
        this,
hgs
parents: 43
diff changeset
  1302
        SLOT(nextTriggered()));
31
hgs
parents:
diff changeset
  1303
    
hgs
parents:
diff changeset
  1304
    disconnect(
53
hgs
parents: 43
diff changeset
  1305
        mActionPrevious,
hgs
parents: 43
diff changeset
  1306
        SIGNAL(triggered()), 
hgs
parents: 43
diff changeset
  1307
        this,
hgs
parents: 43
diff changeset
  1308
        SLOT(previousTriggered()));
31
hgs
parents:
diff changeset
  1309
    
hgs
parents:
diff changeset
  1310
    disconnect(
53
hgs
parents: 43
diff changeset
  1311
        mActionFinish,
hgs
parents: 43
diff changeset
  1312
        SIGNAL(triggered()), 
hgs
parents: 43
diff changeset
  1313
        this,
hgs
parents: 43
diff changeset
  1314
        SLOT(finishTriggered()));
31
hgs
parents:
diff changeset
  1315
hgs
parents:
diff changeset
  1316
    disconnect(
53
hgs
parents: 43
diff changeset
  1317
        mActionCancel,
hgs
parents: 43
diff changeset
  1318
        SIGNAL(triggered()), 
hgs
parents: 43
diff changeset
  1319
        this,
hgs
parents: 43
diff changeset
  1320
        SLOT(cancelTriggered()));
hgs
parents: 43
diff changeset
  1321
    
hgs
parents: 43
diff changeset
  1322
    OstTraceFunctionExit0(WLANWIZARDPRIVATE_DISCONNECTACTIONS_EXIT);
31
hgs
parents:
diff changeset
  1323
}