satui/satapp/src/satappconfirmprovider.cpp
author hgs
Fri, 15 Oct 2010 13:21:28 +0300
changeset 53 25b8d29b7c59
parent 36 7c428525956b
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33
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
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
// qt
hgs
parents:
diff changeset
    19
#include <QAction>
hgs
parents:
diff changeset
    20
// hb
hgs
parents:
diff changeset
    21
#include <hbmessagebox.h>
hgs
parents:
diff changeset
    22
#include <hbaction.h>
hgs
parents:
diff changeset
    23
// satapp
hgs
parents:
diff changeset
    24
#include "satappconfirmprovider.h"
hgs
parents:
diff changeset
    25
#include "satappconstant.h"
hgs
parents:
diff changeset
    26
#include "satappaction.h"
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
// ----------------------------------------------------------------------------
hgs
parents:
diff changeset
    29
// SatAppConfirmProvider::SatAppConfirmProvider
hgs
parents:
diff changeset
    30
// ----------------------------------------------------------------------------
hgs
parents:
diff changeset
    31
//
hgs
parents:
diff changeset
    32
SatAppConfirmProvider::SatAppConfirmProvider(QObject *parent)
hgs
parents:
diff changeset
    33
    : QObject(parent), mConfirmQuery(0), mAction(0)
hgs
parents:
diff changeset
    34
{
hgs
parents:
diff changeset
    35
    qDebug("SATAPP: SatAppConfirmProvider::SatAppConfirmProvider");
hgs
parents:
diff changeset
    36
}
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
// ----------------------------------------------------------------------------
hgs
parents:
diff changeset
    39
// SatAppConfirmProvider::~SatAppConfirmProvider
hgs
parents:
diff changeset
    40
// ----------------------------------------------------------------------------
hgs
parents:
diff changeset
    41
//
hgs
parents:
diff changeset
    42
SatAppConfirmProvider::~SatAppConfirmProvider()
hgs
parents:
diff changeset
    43
{
hgs
parents:
diff changeset
    44
    qDebug("SATAPP: SatAppConfirmProvider::~SatAppConfirmProvider >");
35
hgs
parents: 33
diff changeset
    45
    delete mConfirmQuery;
hgs
parents: 33
diff changeset
    46
    mConfirmQuery = 0;
33
hgs
parents:
diff changeset
    47
    qDebug("SATAPP: SatAppConfirmProvider::~SatAppConfirmProvider <");
hgs
parents:
diff changeset
    48
}
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
// ----------------------------------------------------------------------------
hgs
parents:
diff changeset
    51
// SatAppConfirmProvider::showOpenChannelConfirm
hgs
parents:
diff changeset
    52
// ----------------------------------------------------------------------------
hgs
parents:
diff changeset
    53
//
hgs
parents:
diff changeset
    54
void SatAppConfirmProvider::confirmCommand(SatAppAction &action)
hgs
parents:
diff changeset
    55
{
hgs
parents:
diff changeset
    56
    qDebug("SATAPP: SatAppConfirmProvider::confirmCommand >");
hgs
parents:
diff changeset
    57
    mAction = &action;
hgs
parents:
diff changeset
    58
    delete mConfirmQuery;
hgs
parents:
diff changeset
    59
    mConfirmQuery = 0;
hgs
parents:
diff changeset
    60
    TSatSQueryCommand aCommandId = 
hgs
parents:
diff changeset
    61
        static_cast<TSatSQueryCommand>(action.value(KeyQueryCommandId).toInt());
hgs
parents:
diff changeset
    62
hgs
parents:
diff changeset
    63
    qDebug("SATAPP: SatAppConfirmProvider::ConfirmCommand aCommandId: %d",
hgs
parents:
diff changeset
    64
         aCommandId);
hgs
parents:
diff changeset
    65
    // Check quering command
hgs
parents:
diff changeset
    66
    switch (aCommandId)
hgs
parents:
diff changeset
    67
        {
hgs
parents:
diff changeset
    68
        case ESatOpenChannelQuery:
hgs
parents:
diff changeset
    69
            {
hgs
parents:
diff changeset
    70
            qDebug("SATAPP: SatAppConfirmProvider::ConfirmCommand:\
hgs
parents:
diff changeset
    71
                Quering OpenChannel");
hgs
parents:
diff changeset
    72
            showOpenChannelConfirm(action);
hgs
parents:
diff changeset
    73
            break;
hgs
parents:
diff changeset
    74
            }
hgs
parents:
diff changeset
    75
        case ESatSSetUpCallQuery:
hgs
parents:
diff changeset
    76
            {
hgs
parents:
diff changeset
    77
            qDebug("SATAPP: SatAppConfirmProvider::ConfirmCommand:\
hgs
parents:
diff changeset
    78
                Quering SetUpCall");
hgs
parents:
diff changeset
    79
            showSetUpCallConfirm(action);
hgs
parents:
diff changeset
    80
            break;
hgs
parents:
diff changeset
    81
            }
hgs
parents:
diff changeset
    82
        case ESatSLaunchBrowserQuery:
hgs
parents:
diff changeset
    83
            {
53
hgs
parents: 36
diff changeset
    84
            showLaunchBrowserConfirm(action);
33
hgs
parents:
diff changeset
    85
            break;
hgs
parents:
diff changeset
    86
            }
53
hgs
parents: 36
diff changeset
    87
        // Shown only when Confirm SIM services setting enabled, 
hgs
parents: 36
diff changeset
    88
        // setting not supported on this code line.
hgs
parents: 36
diff changeset
    89
        case ESatSRefreshQuery:
33
hgs
parents:
diff changeset
    90
        default:
hgs
parents:
diff changeset
    91
            {
hgs
parents:
diff changeset
    92
            qDebug("SATAPP: SatAppConfirmProvider::ConfirmCommand:\
hgs
parents:
diff changeset
    93
                Unknown quering command");
hgs
parents:
diff changeset
    94
            action.completeWithNoResponse();
hgs
parents:
diff changeset
    95
            }
hgs
parents:
diff changeset
    96
            break;
hgs
parents:
diff changeset
    97
        }
hgs
parents:
diff changeset
    98
    qDebug("SATAPP: SatAppConfirmProvider::ConfirmCommand <");
hgs
parents:
diff changeset
    99
}
hgs
parents:
diff changeset
   100
hgs
parents:
diff changeset
   101
// ----------------------------------------------------------------------------
hgs
parents:
diff changeset
   102
// SatAppConfirmProvider::showOpenChannelConfirm
hgs
parents:
diff changeset
   103
// ----------------------------------------------------------------------------
hgs
parents:
diff changeset
   104
//
hgs
parents:
diff changeset
   105
void SatAppConfirmProvider::showOpenChannelConfirm(SatAppAction &action)
hgs
parents:
diff changeset
   106
{
hgs
parents:
diff changeset
   107
    qDebug("SATAPP: SatAppConfirmProvider::showOpenChannelConfirm >");
hgs
parents:
diff changeset
   108
    QString content = action.value(KeyText).toString();
hgs
parents:
diff changeset
   109
    if (!content.length()){
hgs
parents:
diff changeset
   110
        content = hbTrId("txt_simatk_info_open_connection");
hgs
parents:
diff changeset
   111
    }
hgs
parents:
diff changeset
   112
    mConfirmQuery = new HbMessageBox(HbMessageBox::MessageTypeQuestion);
hgs
parents:
diff changeset
   113
    // Sets the "Yes"-action/button
hgs
parents:
diff changeset
   114
    mConfirmQuery->setText(content);
hgs
parents:
diff changeset
   115
    mConfirmQuery->setStandardButtons(HbMessageBox::Ok | HbMessageBox::Cancel);
hgs
parents:
diff changeset
   116
    SAT_ASSERT(connect(mConfirmQuery->actions().at(0), SIGNAL(triggered()),
hgs
parents:
diff changeset
   117
        &action, SLOT(completeWithSuccess())));
hgs
parents:
diff changeset
   118
    SAT_ASSERT(connect(mConfirmQuery->actions().at(1), SIGNAL(triggered()),
hgs
parents:
diff changeset
   119
        &action, SLOT(completeWithBackRequested())));
hgs
parents:
diff changeset
   120
    SAT_ASSERT(connect(mAction, SIGNAL(actionCompleted(SatAppAction *)),
hgs
parents:
diff changeset
   121
        this, SLOT(resetState())));
hgs
parents:
diff changeset
   122
    qDebug("SATAPP: SatAppUiProvider::showOpenChannelConfirm before open");
hgs
parents:
diff changeset
   123
    mConfirmQuery->open();
hgs
parents:
diff changeset
   124
    qDebug("SATAPP: SatAppConfirmProvider::showOpenChannelConfirm <");
hgs
parents:
diff changeset
   125
}
hgs
parents:
diff changeset
   126
hgs
parents:
diff changeset
   127
// ----------------------------------------------------------------------------
hgs
parents:
diff changeset
   128
// SatAppConfirmProvider::showSetUpCallConfirm
hgs
parents:
diff changeset
   129
// ----------------------------------------------------------------------------
hgs
parents:
diff changeset
   130
//
hgs
parents:
diff changeset
   131
void SatAppConfirmProvider::showSetUpCallConfirm(SatAppAction &action)
hgs
parents:
diff changeset
   132
{
hgs
parents:
diff changeset
   133
    qDebug("SATAPP: SatAppConfirmProvider::showSetUpCallConfirm >");
hgs
parents:
diff changeset
   134
    QString text = action.value(KeyText).toString();
hgs
parents:
diff changeset
   135
    QString additionText = action.value(KeyAdditionalText).toString();
hgs
parents:
diff changeset
   136
    QString alphaId;
hgs
parents:
diff changeset
   137
    if (text.length() == 0) {
hgs
parents:
diff changeset
   138
        qDebug("SATAPP: SatAppConfirmProvider::showSetUpCallConfirm length 0");
36
hgs
parents: 35
diff changeset
   139
        alphaId = hbTrId("txt_simatk_info_1_about_to_call");
33
hgs
parents:
diff changeset
   140
        if (additionText.length() > 0) {
36
hgs
parents: 35
diff changeset
   141
            alphaId = alphaId.arg(additionText);
33
hgs
parents:
diff changeset
   142
        } else {
36
hgs
parents: 35
diff changeset
   143
            alphaId = alphaId.arg(hbTrId("txt_simatk_title_sim_services"));
33
hgs
parents:
diff changeset
   144
        }
hgs
parents:
diff changeset
   145
    } else {
hgs
parents:
diff changeset
   146
        qDebug("SATAPP: SatAppConfirmProvider::showSetUpCallConfirm text");
hgs
parents:
diff changeset
   147
        alphaId.append(text);
hgs
parents:
diff changeset
   148
    }
hgs
parents:
diff changeset
   149
    qDebug("SATAPP: SatAppConfirmProvider::showSetUpCallConfirm new");
hgs
parents:
diff changeset
   150
    mConfirmQuery = new HbMessageBox(HbMessageBox::MessageTypeQuestion);
hgs
parents:
diff changeset
   151
    mConfirmQuery->setStandardButtons(HbMessageBox::Ok | HbMessageBox::Cancel);
hgs
parents:
diff changeset
   152
    mConfirmQuery->setText(alphaId);
hgs
parents:
diff changeset
   153
    SAT_ASSERT(connect(mConfirmQuery->actions().at(0), SIGNAL(triggered()),
hgs
parents:
diff changeset
   154
        &action, SLOT(completeWithSuccess())));
hgs
parents:
diff changeset
   155
    SAT_ASSERT(connect(mConfirmQuery->actions().at(1), SIGNAL(triggered()),
hgs
parents:
diff changeset
   156
        &action, SLOT(completeWithBackRequested())));
hgs
parents:
diff changeset
   157
    SAT_ASSERT(connect(mAction, SIGNAL(actionCompleted(SatAppAction *)),
hgs
parents:
diff changeset
   158
        this, SLOT(resetState())));
hgs
parents:
diff changeset
   159
    qDebug("SATAPP: SatAppConfirmProvider::showSetUpCallConfirm before open");
hgs
parents:
diff changeset
   160
    mConfirmQuery->open();
hgs
parents:
diff changeset
   161
    qDebug("SATAPP: SatAppConfirmProvider::showSetUpCallConfirm <");
hgs
parents:
diff changeset
   162
}
hgs
parents:
diff changeset
   163
hgs
parents:
diff changeset
   164
// ----------------------------------------------------------------------------
53
hgs
parents: 36
diff changeset
   165
// SatAppConfirmProvider::showLaunchBrowserConfirm
hgs
parents: 36
diff changeset
   166
// ----------------------------------------------------------------------------
hgs
parents: 36
diff changeset
   167
//
hgs
parents: 36
diff changeset
   168
void SatAppConfirmProvider::showLaunchBrowserConfirm(SatAppAction &action)
hgs
parents: 36
diff changeset
   169
{
hgs
parents: 36
diff changeset
   170
    qDebug("SATAPP: SatAppConfirmProvider::showLaunchBrowserConfirm >");
hgs
parents: 36
diff changeset
   171
    QString text = action.value(KeyText).toString();
hgs
parents: 36
diff changeset
   172
    if (!text.length()){
hgs
parents: 36
diff changeset
   173
        text = hbTrId("txt_simatk_dialog_openbrowser");
hgs
parents: 36
diff changeset
   174
        }
hgs
parents: 36
diff changeset
   175
    mConfirmQuery = new HbMessageBox(HbMessageBox::MessageTypeQuestion);
hgs
parents: 36
diff changeset
   176
    // Sets the "Yes"-action/button
hgs
parents: 36
diff changeset
   177
    mConfirmQuery->setText(text);
hgs
parents: 36
diff changeset
   178
    mConfirmQuery->setStandardButtons(HbMessageBox::Ok | HbMessageBox::Cancel);
hgs
parents: 36
diff changeset
   179
    SAT_ASSERT(connect(mConfirmQuery->actions().at(0), SIGNAL(triggered()),
hgs
parents: 36
diff changeset
   180
        &action, SLOT(completeWithSuccess())));
hgs
parents: 36
diff changeset
   181
    SAT_ASSERT(connect(mConfirmQuery->actions().at(1), SIGNAL(triggered()),
hgs
parents: 36
diff changeset
   182
        &action, SLOT(completeWithBackRequested())));
hgs
parents: 36
diff changeset
   183
    SAT_ASSERT(connect(mAction, SIGNAL(actionCompleted(SatAppAction *)),
hgs
parents: 36
diff changeset
   184
        this, SLOT(resetState())));
hgs
parents: 36
diff changeset
   185
    qDebug("SATAPP: SatAppUiProvider::showLaunchBrowserConfirm before open");
hgs
parents: 36
diff changeset
   186
    mConfirmQuery->open();
hgs
parents: 36
diff changeset
   187
    qDebug("SATAPP: SatAppConfirmProvider::showLaunchBrowserConfirm <");
hgs
parents: 36
diff changeset
   188
}
hgs
parents: 36
diff changeset
   189
hgs
parents: 36
diff changeset
   190
// ----------------------------------------------------------------------------
33
hgs
parents:
diff changeset
   191
// SatAppConfirmProvider::clearScreen
hgs
parents:
diff changeset
   192
// ----------------------------------------------------------------------------
hgs
parents:
diff changeset
   193
//
hgs
parents:
diff changeset
   194
void SatAppConfirmProvider::clearScreen()
hgs
parents:
diff changeset
   195
{
hgs
parents:
diff changeset
   196
    qDebug("SATAPP: SatAppConfirmProvider::clearScreen >");
hgs
parents:
diff changeset
   197
    if (mAction) {
hgs
parents:
diff changeset
   198
        SAT_ASSERT(disconnect(mAction, SIGNAL(actionCompleted(SatAppAction *)),
hgs
parents:
diff changeset
   199
            this, SLOT(resetState())));
hgs
parents:
diff changeset
   200
        qDebug("SATAPP: SatAppConfirmProvider::clearScreen quit event loop");
hgs
parents:
diff changeset
   201
        mAction->completeWithNoResponse();
hgs
parents:
diff changeset
   202
        mAction = 0;
hgs
parents:
diff changeset
   203
    }
hgs
parents:
diff changeset
   204
    delete mConfirmQuery;
hgs
parents:
diff changeset
   205
    mConfirmQuery = 0;
hgs
parents:
diff changeset
   206
    qDebug("SATAPP: SatAppConfirmProvider::clearScreen <");
hgs
parents:
diff changeset
   207
}
hgs
parents:
diff changeset
   208
hgs
parents:
diff changeset
   209
// ----------------------------------------------------------------------------
hgs
parents:
diff changeset
   210
// SatAppConfirmProvider::resetState
hgs
parents:
diff changeset
   211
// reset
hgs
parents:
diff changeset
   212
// ----------------------------------------------------------------------------
hgs
parents:
diff changeset
   213
//
hgs
parents:
diff changeset
   214
void SatAppConfirmProvider::resetState()
hgs
parents:
diff changeset
   215
{
hgs
parents:
diff changeset
   216
    qDebug( "SATAPP: SatAppConfirmProvider::resetState >" );
hgs
parents:
diff changeset
   217
    mAction = 0;
hgs
parents:
diff changeset
   218
    qDebug( "SATAPP: SatAppConfirmProvider::resetState <" );
hgs
parents:
diff changeset
   219
}
hgs
parents:
diff changeset
   220
hgs
parents:
diff changeset
   221
//End of file