diff -r 624337f114fe -r 36aa4756ee82 controlpanelui/src/cpplugins/volumeplugin/src/cppersonalizationcustomviewitem.cpp --- 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 #include #include @@ -72,7 +71,7 @@ void CpPersonalizationCustomViewItem::load() { - HbDataFormViewItem::load(); + //HbDataFormViewItem::load(); CpVolumeCustomItemType itemType = static_cast( modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt()); @@ -98,10 +97,38 @@ } } +void CpPersonalizationCustomViewItem::restore() +{ + HbDataFormViewItem::restore(); + + CpVolumeCustomItemType itemType = static_cast( + modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt()); + + if(itemType == SilenceIndicatorItem) { + + QModelIndex itemIndex = modelIndex(); + HbDataFormModel *model = static_cast(itemView()->model());; + HbDataFormModelItem *modelItem = static_cast( + 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( modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());