diff -r aad866c37519 -r cc1cea6aabaf securitydialogs/secuinotifications/secuinotificationdialogplugin/src/secuinotificationcontentwidget.cpp --- a/securitydialogs/secuinotifications/secuinotificationdialogplugin/src/secuinotificationcontentwidget.cpp Fri Jun 11 14:28:40 2010 +0300 +++ b/securitydialogs/secuinotifications/secuinotificationdialogplugin/src/secuinotificationcontentwidget.cpp Thu Jun 24 12:46:20 2010 +0300 @@ -16,6 +16,7 @@ * */ +#include "secuinotificationdebug.h" #include "secuinotificationcontentwidget.h" #include "secuinotificationdialogpluginkeys.h" #include @@ -28,6 +29,10 @@ #include #include +#include // needed for a checkbox dialog +#include // needed for multicheckbox dialog +#include +#include #include #define ESecUiCancelSupported 0x1000000 @@ -60,7 +65,7 @@ SecUiNotificationContentWidget::SecUiNotificationContentWidget( QGraphicsItem *parent, Qt::WindowFlags flags) : HbWidget(parent, flags) { - qDebug() << "SecUiNotificationContentWidget::SecUiNotificationContentWidget"; + RDEBUG("0", 0); } // ---------------------------------------------------------------------------- @@ -77,7 +82,7 @@ // void SecUiNotificationContentWidget::constructFromParameters(const QVariantMap ¶meters) { - qDebug() << "SecUiNotificationContentWidget::constructFromParameters 1"; + RDEBUG("0", 0); qDebug() << parameters; QGraphicsLinearLayout *mainLayout = new QGraphicsLinearLayout(Qt::Vertical); @@ -85,17 +90,17 @@ lMaxLength = 8; // might be replaced later queryDual=0; isEmergency=0; + codeTop=0; // KApplicationSize if (parameters.contains(KQueryType)) { - qDebug() << "SecUiNotificationContentWidget::KQueryType"; + RDEBUG("0", 0); queryType = parameters.value(KQueryType).toUInt(); - qDebug() << queryType; + RDEBUG("queryType", queryType); if( (queryType & ESecUiTypeMaskLock) ) { - qDebug() << "SecUiNotificationContentWidget::KQueryType=ESecUiTypeLock"; + RDEBUG("KQueryType=ESecUiTypeMaskLock", queryType); // showing "Lock" icon. All other params are irrelevant. codeTop is not even created - HbLabel *iconLabel = new HbLabel("Locked"); HbIcon *icon = new HbIcon("qtg_large_device_lock"); @@ -180,8 +185,6 @@ qDebug() << lMaxLength; if(lMaxLength>2) codeTop->setMaxLength(lMaxLength); - // HbLineEdit *codeTop2 = new HbLineEdit; - qDebug() << "SecUiNotificationContentWidget::KCodeTop 2"; qDebug() << "SecUiNotificationContentWidget::KCodeTop queryType="; qDebug() << queryType; codeTop->setInputMethodHints(Qt::ImhDigitsOnly); // default @@ -218,6 +221,28 @@ } qDebug() << "SecUiNotificationContentWidget::KCodeTop 4"; + if (parameters.contains(KDialogTitle)) { + QString titleText = parameters.value(KDialogTitle).toString(); + QString titleAttempts = ""; + if(titleText.indexOf('|')>0) + { // if separator, take only first part + titleText = titleText.left(titleText.indexOf('|')); + } + if(titleText.indexOf('#')>0) + { // if separator, take only first part + titleAttempts = titleText.right(titleText.length()-titleText.indexOf('#')-1); + qDebug() << "SecUiNotificationDialog::titleAttempts=" << titleAttempts; + int nAttempts = titleAttempts.toInt(); + RDEBUG("nAttempts", nAttempts); + titleText = titleText.left(titleText.indexOf('#')); + if(nAttempts>0) + titleText = titleText + " attempts=" + QString::number(nAttempts); + } + HbLabel *titleTop = new HbLabel(titleText); + mainLayout->addItem(titleTop); + // in the dialog, it was setHeadingWidget(title); + } + mainLayout->addItem(codeTop); // double-query if (parameters.contains(KCodeBottom)) @@ -265,6 +290,53 @@ } + if (parameters.contains(KChecboxType)) { + qDebug() << "SecUiNotificationContentWidget::KChecboxType"; + if (parameters.contains(KDialogTitle)) { + //TODO position of the label is not centered + QString tmpText=parameters.value(KDialogTitle).toString(); + if (tmpText.endsWith("\n")) tmpText=tmpText.left(tmpText.length()-1); + DialogText= new HbLabel(tmpText); + DialogText->setTextWrapping(Hb::TextWordWrap); + DialogText->setAlignment(Qt::AlignVCenter); + mainLayout->addItem(DialogText); + } + + checkbox = new HbCheckBox("Caption"); + if (parameters.contains(KDefaultCode)) { + qDebug() << "SecUiNotificationContentWidget::KDefaultCode"; + QStringList list1 = parameters.value(KDefaultCode).toString().split("|"); + if (!list1.isEmpty() && list1.count()==2) { + if (!list1[0].isNull() && !list1[0].isEmpty()) checkbox->setText(list1[0]); + if (!list1[1].isNull() && !list1[1].isEmpty()) checkbox->setChecked(list1[1].toInt()); + } + + } + mainLayout->addItem(checkbox); + } + + if (parameters.contains(KMultiChecboxType) && parameters.contains(KDefaultCode)) + { + qDebug() << "SecUiNotificationContentWidget::KMultiChecboxType"; + QStringList list1 = parameters.value(KDefaultCode).toString().split("1\t"); + if (!list1.isEmpty()) { + listWidget = new HbListWidget(); + for (int i = 0; (i < list1.count()); i++) + if (!list1[i].isEmpty() && !list1[i].isNull()) { + HbListWidgetItem* modelItem = new HbListWidgetItem(); + modelItem->setData(QVariant(list1[i]), Qt::DisplayRole); + listWidget->addItem(modelItem); + } + listWidget->setCurrentRow(0); + listWidget->setSelectionMode(HbAbstractItemView::MultiSelection); + //listWidget->setClampingStyle(HbScrollArea::BounceBackClamping); + listWidget->setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAsNeeded); + listWidget->setMaximumHeight(150); + mainLayout->addItem(listWidget); + // delete listWidget; + } + } + setLayout(mainLayout); }