controlpanelui/src/cpplugins/volumeplugin/src/cppersonalizationcustomviewitem.cpp
changeset 19 36aa4756ee82
parent 12 624337f114fe
--- a/controlpanelui/src/cpplugins/volumeplugin/src/cppersonalizationcustomviewitem.cpp	Mon May 03 12:32:06 2010 +0300
+++ b/controlpanelui/src/cpplugins/volumeplugin/src/cppersonalizationcustomviewitem.cpp	Fri May 14 13:21:08 2010 +0800
@@ -16,7 +16,6 @@
  */
 
 #include "cppersonalizationcustomviewitem.h"
-#include "cpmastervolumeslider.h"
 #include <hbdataformmodelitem.h>
 #include <hbdataformmodel.h>
 #include <hbabstractitemview.h>
@@ -72,7 +71,7 @@
 
 void CpPersonalizationCustomViewItem::load()
 {
-	HbDataFormViewItem::load();
+	//HbDataFormViewItem::load();
 	
     CpVolumeCustomItemType itemType = static_cast<CpVolumeCustomItemType>(
         modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
@@ -98,10 +97,38 @@
     }	
 }
 
+void CpPersonalizationCustomViewItem::restore()
+{
+    HbDataFormViewItem::restore();
+    
+    CpVolumeCustomItemType itemType = static_cast<CpVolumeCustomItemType>(
+        modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
+
+    if(itemType == SilenceIndicatorItem) {
+        
+        QModelIndex itemIndex = modelIndex();
+        HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());;
+        HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
+            model->itemFromIndex(itemIndex));
+        
+       
+        if (mWidget != 0) {
+            const QMetaObject *metaObj = mWidget->metaObject();
+            int count = metaObj->propertyCount();
+            for (int i = 0; i < count; i++) {
+                QMetaProperty metaProperty = metaObj->property(i);
+                if (metaProperty.isValid() && metaProperty.isWritable()) {
+                    metaProperty.write(mWidget,modelItem->contentWidgetData(metaProperty.name()));
+                }
+            }
+        }
+    }   
+}
+
 
 void CpPersonalizationCustomViewItem::store()
 {
-	HbDataFormViewItem::store();
+	//HbDataFormViewItem::store();
 
     CpVolumeCustomItemType itemType = static_cast<CpVolumeCustomItemType>(
         modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());