diff -r 7516d6d86cf5 -r ed14f46c0e55 src/hbwidgets/dataform/hbdataform_p.cpp --- a/src/hbwidgets/dataform/hbdataform_p.cpp Mon Oct 04 17:49:30 2010 +0300 +++ b/src/hbwidgets/dataform/hbdataform_p.cpp Mon Oct 18 18:23:13 2010 +0300 @@ -161,6 +161,22 @@ return modelIndex; } + +/* + collapses all grouppages . +*/ +void HbDataFormPrivate::collapseAllGroupPages(const QModelIndex index) +{ + Q_Q(HbDataForm); + HbDataFormModelItem *modelItem = static_cast(q->model())->itemFromIndex(index); + for(int i = 0; i < modelItem->childCount() ; i++) { + if( modelItem->childAt(i)->type() == HbDataFormModelItem::GroupPageItem ) { + QModelIndex childIndex = static_cast(q->model())->indexFromItem(modelItem->childAt(i)); + mContainer->setItemTransientStateValue(childIndex, "expanded", false); + } + } +} + /*! Creates a DataForm Page \a page in DataForm . DataForm Page is an invisible DataItem which can be changed/selected using combo box. @@ -173,17 +189,14 @@ // Create combobox if not created if(!mHeadingWidget) { mHeadingWidget = new HbDataFormHeadingWidget(); - static_cast(mContainer)->setFormHeading(mHeadingWidget); - QEvent polishEvent(QEvent::Polish); - QCoreApplication::sendEvent(mHeadingWidget, &polishEvent); + static_cast(mContainer)->setFormHeading(mHeadingWidget); } if(!mHeadingWidget->mPageCombo) { mHeadingWidget->createPrimitives(); mHeadingWidget->mPageCombo = new HbComboBox(mHeadingWidget); HbStyle::setItemName(mHeadingWidget->mPageCombo,"dataForm_Combo"); - QEvent polishEvent(QEvent::Polish); - QCoreApplication::sendEvent(mHeadingWidget->mPageCombo, &polishEvent); + mHeadingWidget->callPolish(); // setFormHeading to the layout if(mHeadingWidget->mPageCombo || !mHeadingWidget->mDescription.isEmpty() || !mHeadingWidget->mHeading.isEmpty()) {