diff -r f7ac710697a9 -r 06ff229162e9 src/hbwidgets/dataform/hbdataform_p.cpp --- a/src/hbwidgets/dataform/hbdataform_p.cpp Mon May 03 12:48:33 2010 +0300 +++ b/src/hbwidgets/dataform/hbdataform_p.cpp Fri May 14 16:09:54 2010 +0300 @@ -74,7 +74,7 @@ protos.append(new HbDataGroup()); q->setItemPrototypes(protos); q->setClampingStyle(HbScrollArea::BounceBackClamping); - q->setItemRecycling(true); + q->setItemRecycling(false); treeModelIterator()->setItemContainer(mContainer); } @@ -120,7 +120,7 @@ // Create combobox if not created if(!mHeadingWidget) { mHeadingWidget = new HbDataFormHeadingWidget(); - static_cast(q->container())->setFormHeading(mHeadingWidget); + static_cast(mContainer)->setFormHeading(mHeadingWidget); QEvent polishEvent(QEvent::Polish); QCoreApplication::sendEvent(mHeadingWidget, &polishEvent); } @@ -134,7 +134,7 @@ // setFormHeading to the layout if(mHeadingWidget->mPageCombo || !mHeadingWidget->mDescription.isEmpty() || !mHeadingWidget->mHeading.isEmpty()) { - static_cast(q->container())->setFormHeading(mHeadingWidget); + static_cast(mContainer)->setFormHeading(mHeadingWidget); } QObject::connect(mHeadingWidget->mPageCombo,SIGNAL(currentIndexChanged(int)), q,SLOT(_q_page_changed(int))); @@ -205,7 +205,7 @@ if(modelItem){ QList signalList = mConnectionList.values(modelItem); if(signalList.count() > 0){ - HbDataFormViewItem *viewItem = q->dataFormViewItem(index); + HbDataFormViewItem *viewItem = static_cast(q->itemByIndex(index)); if(viewItem){ HbWidget *contentWidget = viewItem->dataItemContentWidget(); if(contentWidget){ @@ -239,8 +239,8 @@ mConnectionList.remove(modelItem); if(signalList.count() > 0){ QModelIndex index = - static_cast(modelItem->model())->indexFromItem(modelItem); - HbDataFormViewItem *viewItem = q->dataFormViewItem(index); + static_cast(q->model())->indexFromItem(modelItem); + HbDataFormViewItem *viewItem = static_cast(q->itemByIndex(index)); if(viewItem){ HbWidget *contentWidget = viewItem->dataItemContentWidget(); if(contentWidget){ @@ -272,12 +272,12 @@ QObject *reciever, QString slot) { - Q_Q( HbDataForm); - QModelIndex index = static_cast(modelItem->model())->indexFromItem(modelItem); - Q_UNUSED(index); + Q_Q( HbDataForm); + if(q->model()) { + QModelIndex index = static_cast(q->model())->indexFromItem(modelItem); if(modelItem){ - HbDataFormViewItem *viewItem = q->dataFormViewItem(index); + HbDataFormViewItem *viewItem =static_cast( q->itemByIndex(index) ); if(viewItem){ HbWidget *contentWidget = viewItem->dataItemContentWidget(); // Make connection @@ -300,8 +300,8 @@ QList signalList = mConnectionList.values(item); mConnectionList.remove(item); if(signalList.count() > 0){ - QModelIndex index = static_cast(item->model())->indexFromItem(item); - HbDataFormViewItem *viewItem = q->dataFormViewItem(index); + QModelIndex index = static_cast(q->model())->indexFromItem(item); + HbDataFormViewItem *viewItem = static_cast (q->itemByIndex(index)); if(viewItem){ HbWidget *contentWidget = viewItem->dataItemContentWidget(); // disconnect signal and remove signal from list @@ -327,8 +327,8 @@ QList signalList = mConnectionList.values(modelItem); mConnectionList.remove(modelItem); if(signalList.count() > 0){ - QModelIndex index = static_cast(modelItem->model())->indexFromItem(modelItem); - HbDataFormViewItem *viewItem = q->dataFormViewItem(index); + QModelIndex index = static_cast(q->model())->indexFromItem(modelItem); + HbDataFormViewItem *viewItem =static_cast( q->itemByIndex(index)); if(viewItem){ HbWidget *contentWidget = viewItem->dataItemContentWidget(); // disconnect signal and remove signal from list