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 <QGraphicsLinearLayout>
@@ -28,6 +29,10 @@
#include <hbinputeditorinterface.h>
#include <QDebug>
+#include <HbCheckBox> // needed for a checkbox dialog
+#include <HbListWidget> // needed for multicheckbox dialog
+#include <HbListWidgetItem>
+#include <HbAbstractItemView>
#include <HbEmailAddressFilter>
#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);
}