wlanutilities/wpswizard/src/wpswizardstepthreenumber.cpp
author hgs
Thu, 24 Jun 2010 10:49:51 +0300
changeset 39 7b3e49e4608a
parent 19 10810c91db26
child 53 bdc64aa9b954
permissions -rw-r--r--
201025
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
 * All rights reserved.
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
39
hgs
parents: 19
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
 *
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
 * Initial Contributors:
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
 *
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
 * Contributors:
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
 *
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
 * Description: 
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
 *   WPS Wizard Page: Step 3 Number enter mode.
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
 *
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
 */
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
// System includes
39
hgs
parents: 19
diff changeset
    20
#include <HbDocumentLoader>
hgs
parents: 19
diff changeset
    21
#include <HbWidget>
hgs
parents: 19
diff changeset
    22
#include <HbRadiobuttonList>
hgs
parents: 19
diff changeset
    23
#include <HbLineEdit>
hgs
parents: 19
diff changeset
    24
#include <HbLabel>
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include <QTextStream>
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#include <QTime>
39
hgs
parents: 19
diff changeset
    27
#include <HbMainWindow>
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
// User includes
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
#include "wpswizardstepthreenumber.h"
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
#include "wpswizard_p.h"
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
// Trace includes
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
#include "OstTraceDefinitions.h"
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
#ifdef OST_TRACE_COMPILER_IN_USE
39
hgs
parents: 19
diff changeset
    36
#include "wpswizardstepthreenumberTraces.h"
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
#endif
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
39
hgs
parents: 19
diff changeset
    39
// External function prototypes
hgs
parents: 19
diff changeset
    40
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
// Local constants
39
hgs
parents: 19
diff changeset
    42
const static int KMaxPINLength = 8;
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
/*!
39
hgs
parents: 19
diff changeset
    45
   \class WpsPageStepThreeNumber
hgs
parents: 19
diff changeset
    46
   \brief Implementation of wps wizard page for step three PIN Entry mode. 
hgs
parents: 19
diff changeset
    47
 */
hgs
parents: 19
diff changeset
    48
hgs
parents: 19
diff changeset
    49
// ======== LOCAL FUNCTIONS ========
hgs
parents: 19
diff changeset
    50
hgs
parents: 19
diff changeset
    51
// ======== MEMBER FUNCTIONS ========
hgs
parents: 19
diff changeset
    52
hgs
parents: 19
diff changeset
    53
/*!
hgs
parents: 19
diff changeset
    54
   Constructor for WPS page three number entry mode
hgs
parents: 19
diff changeset
    55
   
hgs
parents: 19
diff changeset
    56
   @param [in] parent Pointer to the WPS wizard private implementation 
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
 */
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
WpsPageStepThreeNumber::WpsPageStepThreeNumber(WpsWizardPrivate* parent) :
39
hgs
parents: 19
diff changeset
    59
    WpsWizardPage(parent), 
hgs
parents: 19
diff changeset
    60
    mWidget(NULL), 
hgs
parents: 19
diff changeset
    61
    mHeading(NULL),
hgs
parents: 19
diff changeset
    62
    mLoader(NULL)
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
{
39
hgs
parents: 19
diff changeset
    64
    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_WPSPAGESTEPTHREENUMBER_ENTRY, this); 
hgs
parents: 19
diff changeset
    65
    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_WPSPAGESTEPTHREENUMBER_EXIT, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    67
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    68
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    69
/*!
39
hgs
parents: 19
diff changeset
    70
   Destructor
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    71
 */
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    72
WpsPageStepThreeNumber::~WpsPageStepThreeNumber()
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
{
39
hgs
parents: 19
diff changeset
    74
    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_WPSPAGESTEPTHREENUMBER_DESTRUCTOR_ENTRY, this);
hgs
parents: 19
diff changeset
    75
    delete mLoader;
hgs
parents: 19
diff changeset
    76
    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_WPSPAGESTEPTHREENUMBER_DESTRUCTOR_EXIT, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
/*!
39
hgs
parents: 19
diff changeset
    80
   Loads the page with all the widgets
hgs
parents: 19
diff changeset
    81
   
hgs
parents: 19
diff changeset
    82
   @return HbWidget* Returns the view widget
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    83
 */
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    84
HbWidget* WpsPageStepThreeNumber::initializePage()
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
{
39
hgs
parents: 19
diff changeset
    86
    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_INITIALIZEPAGE_ENTRY, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    87
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
    if (!mWidget) {
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
        bool ok;
39
hgs
parents: 19
diff changeset
    90
        mLoader = new HbDocumentLoader(mWizard->mainWindow());
hgs
parents: 19
diff changeset
    91
        
hgs
parents: 19
diff changeset
    92
        mLoader->load(":/docml/occ_wps_02_03.docml", &ok);
hgs
parents: 19
diff changeset
    93
        Q_ASSERT(ok);
hgs
parents: 19
diff changeset
    94
        
hgs
parents: 19
diff changeset
    95
        // Initialize orientation
hgs
parents: 19
diff changeset
    96
        loadDocmlSection(mWizard->mainWindow()->orientation());
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
39
hgs
parents: 19
diff changeset
    98
        mWidget = qobject_cast<HbWidget*> (mLoader->findWidget("occ_wps_P2"));
hgs
parents: 19
diff changeset
    99
        Q_ASSERT(mWidget);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
39
hgs
parents: 19
diff changeset
   101
        mHeading= qobject_cast<HbLabel*> (mLoader->findWidget("label_heading"));
hgs
parents: 19
diff changeset
   102
        Q_ASSERT(mHeading);
hgs
parents: 19
diff changeset
   103
        
hgs
parents: 19
diff changeset
   104
        bool connectOk = connect(
hgs
parents: 19
diff changeset
   105
            mWizard->mainWindow(), 
hgs
parents: 19
diff changeset
   106
            SIGNAL(orientationChanged(Qt::Orientation)),
hgs
parents: 19
diff changeset
   107
            this, 
hgs
parents: 19
diff changeset
   108
            SLOT(loadDocmlSection(Qt::Orientation)));
hgs
parents: 19
diff changeset
   109
        Q_ASSERT(connectOk);
hgs
parents: 19
diff changeset
   110
    } 
hgs
parents: 19
diff changeset
   111
    
hgs
parents: 19
diff changeset
   112
    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_INITIALIZEPAGE_EXIT, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
    return mWidget;
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   115
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   116
39
hgs
parents: 19
diff changeset
   117
/*!
hgs
parents: 19
diff changeset
   118
   Funtion to determine the next page to be displayed in the wizard process
hgs
parents: 19
diff changeset
   119
   
hgs
parents: 19
diff changeset
   120
   @param [out] removeFromStack bool indicating whether the current page should be 
hgs
parents: 19
diff changeset
   121
   removed from the stack
hgs
parents: 19
diff changeset
   122
   
hgs
parents: 19
diff changeset
   123
   @return int Page Id of the next page to be displayed.
hgs
parents: 19
diff changeset
   124
 */
hgs
parents: 19
diff changeset
   125
int WpsPageStepThreeNumber::nextId(bool &removeFromStack) const
hgs
parents: 19
diff changeset
   126
{
hgs
parents: 19
diff changeset
   127
    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_NEXTID_ENTRY, this);
hgs
parents: 19
diff changeset
   128
    removeFromStack = false;
hgs
parents: 19
diff changeset
   129
    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_NEXTID_EXIT, this);
hgs
parents: 19
diff changeset
   130
hgs
parents: 19
diff changeset
   131
    return WpsWizardPage::PageWpsWizardStep4;
hgs
parents: 19
diff changeset
   132
}
hgs
parents: 19
diff changeset
   133
hgs
parents: 19
diff changeset
   134
/*!
hgs
parents: 19
diff changeset
   135
   Determines the Number of steps to move backwards when 'Prev' Button
hgs
parents: 19
diff changeset
   136
   is clicked
hgs
parents: 19
diff changeset
   137
   
hgs
parents: 19
diff changeset
   138
   @return int Number of pages to move backwards
hgs
parents: 19
diff changeset
   139
 */
hgs
parents: 19
diff changeset
   140
int WpsPageStepThreeNumber::previousTriggered()
hgs
parents: 19
diff changeset
   141
{
hgs
parents: 19
diff changeset
   142
    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_PREVIOUSTRIGGERED_ENTRY, this);
hgs
parents: 19
diff changeset
   143
    
hgs
parents: 19
diff changeset
   144
    mWizard->setPin(0);
hgs
parents: 19
diff changeset
   145
    
hgs
parents: 19
diff changeset
   146
    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_PREVIOUSTRIGGERED_EXIT, this);
hgs
parents: 19
diff changeset
   147
    return (PageWpsWizardStep3_Number - PageWpsWizardStep2) - 1;
hgs
parents: 19
diff changeset
   148
}
hgs
parents: 19
diff changeset
   149
hgs
parents: 19
diff changeset
   150
/*!
hgs
parents: 19
diff changeset
   151
   CallBack when the cancel button is clicked
hgs
parents: 19
diff changeset
   152
 */
hgs
parents: 19
diff changeset
   153
void WpsPageStepThreeNumber::cancelTriggered()
hgs
parents: 19
diff changeset
   154
{
hgs
parents: 19
diff changeset
   155
    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_CANCELTRIGGERED_ENTRY, this);
hgs
parents: 19
diff changeset
   156
    mWizard->setPin(0);    
hgs
parents: 19
diff changeset
   157
    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_CANCELTRIGGERED_EXIT, this);
hgs
parents: 19
diff changeset
   158
}
hgs
parents: 19
diff changeset
   159
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   160
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
/*!
39
hgs
parents: 19
diff changeset
   162
   Determines whether the Next action button should be enabled or not
hgs
parents: 19
diff changeset
   163
   
hgs
parents: 19
diff changeset
   164
   @return bool Indicating whether next button is enabled or not.
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
 */
39
hgs
parents: 19
diff changeset
   166
bool WpsPageStepThreeNumber::showPage()
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
{
39
hgs
parents: 19
diff changeset
   168
    int randomNumber = computeRandNumber();
hgs
parents: 19
diff changeset
   169
    mHeading->setPlainText(hbTrId(
hgs
parents: 19
diff changeset
   170
            "txt_occ_dialog_enter_1_on_the_wireless_station_t").arg(
hgs
parents: 19
diff changeset
   171
            randomNumber));
hgs
parents: 19
diff changeset
   172
    mWizard->setPin(randomNumber);
hgs
parents: 19
diff changeset
   173
    return true;
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
/*!
39
hgs
parents: 19
diff changeset
   177
   Computes the Random number based on current system time
hgs
parents: 19
diff changeset
   178
   
hgs
parents: 19
diff changeset
   179
   @return int Returns the generated random number
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
 */
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
int WpsPageStepThreeNumber::computeRandNumber()
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
{
39
hgs
parents: 19
diff changeset
   183
    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_COMPUTERANDNUMBER_ENTRY, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   184
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
    int pin = 0;
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
    QTime time(0, 0);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
    int seed = time.secsTo(QTime::currentTime());
39
hgs
parents: 19
diff changeset
   188
    
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   189
    do {
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
        qsrand(seed);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
        pin = qrand();
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   192
    } while (pin < (10 ^ (KMaxPINLength - 2)) || (((pin / 1000000) % 10)) == 0);
39
hgs
parents: 19
diff changeset
   193
    
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
    //last digit is checksum, so we need 7 digits
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
    //and the first shouldn't be 0
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
    pin = pin % 10000000;
39
hgs
parents: 19
diff changeset
   197
    int checkSum = computeCheckSum(pin);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
    pin *= 10;
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
    pin += checkSum;
39
hgs
parents: 19
diff changeset
   200
    
hgs
parents: 19
diff changeset
   201
    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_COMPUTERANDNUMBER_EXIT, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
    return pin;
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   204
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
/*!
39
hgs
parents: 19
diff changeset
   206
   Computes the checksum for a given pin
hgs
parents: 19
diff changeset
   207
   
hgs
parents: 19
diff changeset
   208
   @return Returns the generated checksum
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
 */
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
int WpsPageStepThreeNumber::computeCheckSum(int aPin)
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
{
39
hgs
parents: 19
diff changeset
   212
    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_COMPUTECHECKSUM_ENTRY, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
    int accum = 0;
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
    aPin *= 10;
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
    accum += 3 * ((aPin / 10000000) % 10);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
    accum += 1 * ((aPin / 1000000) % 10);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
    accum += 3 * ((aPin / 100000) % 10);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   219
    accum += 1 * ((aPin / 10000) % 10);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
    accum += 3 * ((aPin / 1000) % 10);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   221
    accum += 1 * ((aPin / 100) % 10);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   222
    accum += 3 * ((aPin / 10) % 10);
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   223
    int digit = (accum % 10);
39
hgs
parents: 19
diff changeset
   224
    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_COMPUTECHECKSUM_EXIT, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   225
    return (10 - digit) % 10;
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   226
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   227
39
hgs
parents: 19
diff changeset
   228
/*!
hgs
parents: 19
diff changeset
   229
   Loads docml at initialization phase and when HbMainWindow sends 
hgs
parents: 19
diff changeset
   230
   orientation() signal.
hgs
parents: 19
diff changeset
   231
   
hgs
parents: 19
diff changeset
   232
   @param [in] orientation orientation to be loaded.
hgs
parents: 19
diff changeset
   233
 */
hgs
parents: 19
diff changeset
   234
void WpsPageStepThreeNumber::loadDocmlSection(Qt::Orientation orientation)
hgs
parents: 19
diff changeset
   235
{
hgs
parents: 19
diff changeset
   236
    bool ok = false;
hgs
parents: 19
diff changeset
   237
hgs
parents: 19
diff changeset
   238
    // Load the orientation specific section
hgs
parents: 19
diff changeset
   239
    if (orientation == Qt::Horizontal) {
hgs
parents: 19
diff changeset
   240
        mLoader->load(":/docml/occ_wps_02_03.docml", "landscape", &ok);
hgs
parents: 19
diff changeset
   241
        Q_ASSERT(ok);
hgs
parents: 19
diff changeset
   242
    } else {
hgs
parents: 19
diff changeset
   243
        Q_ASSERT(orientation == Qt::Vertical);
hgs
parents: 19
diff changeset
   244
        mLoader->load(":/docml/occ_wps_02_03.docml", "portrait", &ok);
hgs
parents: 19
diff changeset
   245
        Q_ASSERT(ok);
hgs
parents: 19
diff changeset
   246
    }
hgs
parents: 19
diff changeset
   247
}
hgs
parents: 19
diff changeset
   248