securitydialogs/secuinotifications/secuinotificationdialogplugin/src/secuinotificationdialog.cpp
changeset 15 318c4eab2439
child 17 8957df7b0072
equal deleted inserted replaced
14:b75757c81051 15:318c4eab2439
       
     1 /*
       
     2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: SecUi notification plugin class.
       
    15 *
       
    16 */
       
    17 
       
    18 #include "secuinotificationdialog.h"
       
    19 #include "secuinotificationdialogpluginkeys.h"
       
    20 #include "secuinotificationcontentwidget.h"
       
    21 // #include <hbpopupbase.h>        // HbPopupBase::NoTimeout
       
    22 #include <hblabel.h>
       
    23 #include <hbaction.h>
       
    24 #include <QDebug>
       
    25 
       
    26 #define ESecUiCancelSupported  0x1000000
       
    27 #define ESecUiCancelNotSupported  0x0000000
       
    28 
       
    29 #define ESecUiEmergencySupported  0x2000000
       
    30 #define ESecUiEmergencyNotSupported  0x0000000
       
    31 
       
    32 // ----------------------------------------------------------------------------
       
    33 // SecUiNotificationDialog::SecUiNotificationDialog()
       
    34 // ----------------------------------------------------------------------------
       
    35 //
       
    36 SecUiNotificationDialog::SecUiNotificationDialog(
       
    37         const QVariantMap &parameters) : HbDialog(), mLastError(KNoError)
       
    38 {
       
    39 		qDebug() << "SecUiNotificationDialog::SecUiNotificationDialog";
       
    40     constructDialog(parameters);
       
    41 }
       
    42 
       
    43 // ----------------------------------------------------------------------------
       
    44 // SecUiNotificationDialog::~SecUiNotificationDialog()
       
    45 // ----------------------------------------------------------------------------
       
    46 //
       
    47 SecUiNotificationDialog::~SecUiNotificationDialog()
       
    48 {
       
    49 }
       
    50 
       
    51 // ----------------------------------------------------------------------------
       
    52 // SecUiNotificationDialog::setDeviceDialogParameters()
       
    53 // ----------------------------------------------------------------------------
       
    54 //
       
    55 bool SecUiNotificationDialog::setDeviceDialogParameters(const QVariantMap &parameters)
       
    56 {
       
    57 		qDebug() << "SecUiNotificationDialog::setDeviceDialogParameters";
       
    58    return constructDialog(parameters);
       
    59 }
       
    60 
       
    61 // ----------------------------------------------------------------------------
       
    62 // SecUiNotificationDialog::deviceDialogError()
       
    63 // ----------------------------------------------------------------------------
       
    64 //
       
    65 int SecUiNotificationDialog::deviceDialogError() const
       
    66 {
       
    67 		qDebug() << "SecUiNotificationDialog::deviceDialogError";
       
    68 		qDebug() << mLastError;
       
    69     return mLastError;
       
    70 }
       
    71 
       
    72 // ----------------------------------------------------------------------------
       
    73 // SecUiNotificationDialog::closeDeviceDialog
       
    74 // ----------------------------------------------------------------------------
       
    75 //
       
    76 void SecUiNotificationDialog::closeDeviceDialog(bool byClient)
       
    77 {
       
    78     Q_UNUSED(byClient);
       
    79     close();
       
    80 		qDebug() << "SecUiNotificationDialog::closeDeviceDialog";
       
    81 
       
    82     // If show event has been received, close is signalled from hide event.
       
    83     // If not, hide event does not come and close is signalled from here.
       
    84     if (!mShowEventReceived) {
       
    85         emit deviceDialogClosed();
       
    86     }
       
    87 }
       
    88 
       
    89 // ----------------------------------------------------------------------------
       
    90 // SecUiNotificationDialog::deviceDialogWidget
       
    91 // ----------------------------------------------------------------------------
       
    92 //
       
    93 HbDialog *SecUiNotificationDialog::deviceDialogWidget() const
       
    94 {
       
    95     return const_cast<SecUiNotificationDialog*>(this);
       
    96 }
       
    97 
       
    98 // ----------------------------------------------------------------------------
       
    99 // SecUiNotificationDialog::hideEvent
       
   100 // ----------------------------------------------------------------------------
       
   101 //
       
   102 void SecUiNotificationDialog::hideEvent(QHideEvent *event)
       
   103 {
       
   104 		qDebug() << "SecUiNotificationDialog::hideEvent";
       
   105     HbDialog::hideEvent(event);
       
   106     emit deviceDialogClosed();
       
   107 }
       
   108 
       
   109 // ----------------------------------------------------------------------------
       
   110 // SecUiNotificationDialog::showEvent
       
   111 // ----------------------------------------------------------------------------
       
   112 //
       
   113 void SecUiNotificationDialog::showEvent(QShowEvent *event)
       
   114 {
       
   115 		qDebug() << "SecUiNotificationDialog::showEvent";
       
   116     HbDialog::showEvent(event);
       
   117     mShowEventReceived = true;
       
   118 }
       
   119 
       
   120 // ----------------------------------------------------------------------------
       
   121 // SecUiNotificationDialog::constructDialog()
       
   122 // ----------------------------------------------------------------------------
       
   123 //
       
   124 bool SecUiNotificationDialog::constructDialog(const QVariantMap &parameters)
       
   125     {
       
   126 		qDebug() << "SecUiNotificationDialog::constructDialog";
       
   127     setTimeout(HbPopup::NoTimeout);
       
   128     setDismissPolicy(HbPopup::NoDismiss);
       
   129     setModal(true);
       
   130 
       
   131     // Title
       
   132     if (parameters.contains(KDialogTitle)) {
       
   133         QString titleText = parameters.value(KDialogTitle).toString();
       
   134         HbLabel *title = new HbLabel(titleText);
       
   135         setHeadingWidget(title);
       
   136     }
       
   137 
       
   138     // Content
       
   139     SecUiNotificationContentWidget *content = new SecUiNotificationContentWidget();
       
   140     content->constructFromParameters(parameters);
       
   141     setContentWidget(content);
       
   142     connect(content, SIGNAL(codeTopChanged(const QString &)), this, SLOT(handleCodeTopChanged(const QString &)));
       
   143     connect(content, SIGNAL(but1Changed()), this, SLOT(handlebut1Changed()));
       
   144     connect(content, SIGNAL(but2Changed()), this, SLOT(handlebut2Changed()));
       
   145     connect(content, SIGNAL(but3Changed()), this, SLOT(handlebut3Changed()));
       
   146 		codeTop = content->codeTop;
       
   147 		queryType = content->queryType;
       
   148 		qDebug() << "SecUiNotificationDialog::queryType=";
       
   149 		qDebug() << queryType;
       
   150     // Buttons
       
   151     okAction = new HbAction(tr("Ok"));            // qtTrId("txt_common_button_ok")
       
   152     setPrimaryAction(okAction);
       
   153     connect(okAction, SIGNAL(triggered()), this, SLOT(handleAccepted()));
       
   154     cancelAction = new HbAction(tr("Cancel"));    // qtTrId("txt_common_button_cancel")
       
   155     connect(cancelAction, SIGNAL(triggered()), this, SLOT(handleCancelled()));
       
   156     setSecondaryAction(cancelAction);
       
   157 
       
   158 		qDebug() << "SecUiNotificationDialog check Cancel";
       
   159     if (queryType & ESecUiCancelSupported)
       
   160     	{
       
   161     		// nothing to do. Cancel is enabled by default
       
   162     	}
       
   163   	else
       
   164   		{
       
   165 				qDebug() << "disable Cancel";
       
   166   			cancelAction->setEnabled(false);
       
   167   		}
       
   168     
       
   169     return true;
       
   170 }
       
   171 
       
   172 // ----------------------------------------------------------------------------
       
   173 // SecUiNotificationDialog::sendResult()
       
   174 // ----------------------------------------------------------------------------
       
   175 //
       
   176 void SecUiNotificationDialog::sendResult(bool accepted)
       
   177 {
       
   178 		qDebug() << "SecUiNotificationDialog::sendResult 1.2";
       
   179     QVariant acceptedValue(accepted);
       
   180 		qDebug() << "SecUiNotificationDialog::sendResult 2";
       
   181     mResultMap.insert(KResultAccepted, acceptedValue);
       
   182 		qDebug() << "SecUiNotificationDialog::sendResult 3";
       
   183 		qDebug() << mResultMap;
       
   184     emit deviceDialogData(mResultMap);
       
   185 		qDebug() << "SecUiNotificationDialog::sendResult end";
       
   186 }
       
   187 
       
   188 // ----------------------------------------------------------------------------
       
   189 // SecUiNotificationDialog::handleAccepted()
       
   190 // ----------------------------------------------------------------------------
       
   191 //
       
   192 void SecUiNotificationDialog::handleAccepted()
       
   193 {
       
   194 		qDebug() << "SecUiNotificationDialog::handleAccepted";
       
   195 		// okAction
       
   196 		QString codeTopText = codeTop->text();
       
   197    	qDebug() << "codeTopText";
       
   198    	qDebug() << codeTopText;
       
   199 		if(!codeTopText.compare("1234111"))
       
   200 				{
       
   201 					qDebug() << "codeTopText is 1234111. Not exit";
       
   202 					return;
       
   203 				}
       
   204     sendResult(true);
       
   205 }
       
   206 
       
   207 // ----------------------------------------------------------------------------
       
   208 // SecUiNotificationDialog::handleCancelled()
       
   209 // ----------------------------------------------------------------------------
       
   210 //
       
   211 void SecUiNotificationDialog::handleCancelled()
       
   212 {
       
   213 		qDebug() << "SecUiNotificationDialog::handleCancelled";
       
   214     sendResult(false);
       
   215 }
       
   216 
       
   217 // ----------------------------------------------------------------------------
       
   218 // SecUiNotificationDialog::handleMemorySelectionChanged()
       
   219 // ----------------------------------------------------------------------------
       
   220 //
       
   221 void SecUiNotificationDialog::handleMemorySelectionChanged(const QString &text)
       
   222     {
       
   223     	qDebug() << "SecUiNotificationDialog::handleMemorySelectionChanged";
       
   224     	qDebug() << text;
       
   225     QVariant memorySelection(text);
       
   226     mResultMap.insert(KSelectedMemoryIndex, memorySelection);
       
   227     //TODO: do we need emit here, or would it be better to send all data at the end?
       
   228     //emit deviceDialogData(mResultMap);
       
   229     }
       
   230 
       
   231 // ----------------------------------------------------------------------------
       
   232 // SecUiNotificationDialog::handleCodeTopChanged()
       
   233 // ----------------------------------------------------------------------------
       
   234 //
       
   235 void SecUiNotificationDialog::handleCodeTopChanged(const QString &text)
       
   236     {
       
   237     	qDebug() << "SecUiNotificationDialog::handleCodeTopChanged";
       
   238     	qDebug() << "SecUiNotificationDialog::handleCodeTopChanged" << text ;
       
   239     QVariant codeTop(text);
       
   240     mResultMap.insert(KCodeTopIndex, codeTop);
       
   241     }
       
   242 // ----------------------------------------------------------------------------
       
   243 // SecUiNotificationDialog::handlebut1Changed()
       
   244 // ----------------------------------------------------------------------------
       
   245 //
       
   246 void SecUiNotificationDialog::handlebut1Changed()
       
   247     {
       
   248     	qDebug() << "SecUiNotificationDialog::handlebut1Changed";
       
   249     	codeTop->setText("1234");
       
   250     }
       
   251 // ----------------------------------------------------------------------------
       
   252 // SecUiNotificationDialog::handlebut2Changed()
       
   253 // ----------------------------------------------------------------------------
       
   254 //
       
   255 void SecUiNotificationDialog::handlebut2Changed()
       
   256     {
       
   257     	qDebug() << "SecUiNotificationDialog::handlebut2Changed";
       
   258     	QString codeTopText = codeTop->text();
       
   259     	qDebug() << "codeTopText";
       
   260     	qDebug() << codeTopText;
       
   261     	codeTopText = codeTopText + "1" ;
       
   262     	qDebug() << "codeTopText+1";
       
   263     	qDebug() << codeTopText;
       
   264     	codeTop->setText(codeTopText);
       
   265     }
       
   266 // ----------------------------------------------------------------------------
       
   267 // SecUiNotificationDialog::handlebut3Changed()
       
   268 // ----------------------------------------------------------------------------
       
   269 //
       
   270 void SecUiNotificationDialog::handlebut3Changed()
       
   271     {
       
   272     	qDebug() << "SecUiNotificationDialog::handlebut3Changed";
       
   273     	QString codeTopText = codeTop->text();
       
   274     	qDebug() << "codeTopText";
       
   275     	qDebug() << codeTopText;
       
   276     	codeTopText = codeTopText + "5" ;
       
   277     	qDebug() << "codeTopText+5";
       
   278     	qDebug() << codeTopText;
       
   279     	codeTop->setText(codeTopText);
       
   280     }
       
   281 
       
   282 // ----------------------------------------------------------------------------
       
   283 // SecUiNotificationDialog::saveFocusWidget(QWidget*,QWidget*)
       
   284 // ----------------------------------------------------------------------------
       
   285 //
       
   286 void SecUiNotificationDialog::saveFocusWidget(QWidget*,QWidget*)
       
   287 {
       
   288 		qDebug() << "SecUiNotificationDialog::saveFocusWidget";
       
   289 }