deviceupdatesui/deviceupdates/src/settingsdataformcustomitem.cpp
changeset 47 d316aecb87fd
parent 38 2d078e09a2f4
--- a/deviceupdatesui/deviceupdates/src/settingsdataformcustomitem.cpp	Tue Jul 13 03:51:25 2010 +0530
+++ b/deviceupdatesui/deviceupdates/src/settingsdataformcustomitem.cpp	Tue Jul 13 04:01:20 2010 +0530
@@ -22,9 +22,11 @@
 #include <hbinputeditorinterface.h>
 #include <qgraphicslinearlayout.h>
 #include <hblabel.h>
+#include <hbabstractitemview.h>
+#include <hbdataformmodel.h>
 
 SettingsDataFormCustomItem::SettingsDataFormCustomItem(QGraphicsItem *parent) :
-HbDataFormViewItem(parent)
+HbDataFormViewItem(parent),mLineEdit(NULL)
 {
 }
 
@@ -45,9 +47,8 @@
     switch (itemType)
     {
       case HbDataFormModelItem::CustomItemBase :
-            {             
-            HbLineEdit* mLineEdit = new HbLineEdit();
-            mLineEdit->setText(QString("8080"));
+            {            
+            mLineEdit = new HbLineEdit();            
             HbEditorInterface editorInterface(mLineEdit);
             editorInterface.setMode(HbInputModeNumeric); 
             editorInterface.setInputConstraints(HbEditorConstraintFixedInputMode);            
@@ -63,3 +64,18 @@
      int itemType = aIndex.data(HbDataFormModelItem::ItemTypeRole).toInt();
      return itemType == HbDataFormModelItem::CustomItemBase;
  }
+
+ void SettingsDataFormCustomItem::restore()
+  {  
+     HbDataFormViewItem::restore();    
+     HbDataFormModelItem::DataItemType itemType = static_cast<HbDataFormModelItem::DataItemType>(
+         modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
+     if( itemType == HbDataFormModelItem::CustomItemBase  ) {
+         QModelIndex itemIndex = modelIndex();
+         HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
+         static_cast<HbDataFormModel*>(itemView()->model())->itemFromIndex(itemIndex));
+         QString port = modelItem->contentWidgetData("text").toString();         
+         qDebug("port is %d",port.toInt());        
+         mLineEdit->setText(port);        
+     }     
+ }