securitydialogs/secuinotifications/secuinotificationdialogplugin/src/secuinotificationcontentwidget.cpp
changeset 30 cc1cea6aabaf
parent 22 6b63ca65093a
child 35 f1030a78d563
--- 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 &parameters)
 {
-		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);
     }