equal
deleted
inserted
replaced
72 QList<HbAbstractViewItem*> protos; |
72 QList<HbAbstractViewItem*> protos; |
73 protos.append(new HbDataFormViewItem()); |
73 protos.append(new HbDataFormViewItem()); |
74 protos.append(new HbDataGroup()); |
74 protos.append(new HbDataGroup()); |
75 q->setItemPrototypes(protos); |
75 q->setItemPrototypes(protos); |
76 q->setClampingStyle(HbScrollArea::BounceBackClamping); |
76 q->setClampingStyle(HbScrollArea::BounceBackClamping); |
77 q->setItemRecycling(true); |
77 q->setItemRecycling(false); |
78 treeModelIterator()->setItemContainer(mContainer); |
78 treeModelIterator()->setItemContainer(mContainer); |
79 } |
79 } |
80 |
80 |
81 void HbDataFormPrivate::_q_page_changed(int index) |
81 void HbDataFormPrivate::_q_page_changed(int index) |
82 { |
82 { |
118 Q_Q(HbDataForm); |
118 Q_Q(HbDataForm); |
119 |
119 |
120 // Create combobox if not created |
120 // Create combobox if not created |
121 if(!mHeadingWidget) { |
121 if(!mHeadingWidget) { |
122 mHeadingWidget = new HbDataFormHeadingWidget(); |
122 mHeadingWidget = new HbDataFormHeadingWidget(); |
123 static_cast<HbDataItemContainer*>(q->container())->setFormHeading(mHeadingWidget); |
123 static_cast<HbDataItemContainer*>(mContainer)->setFormHeading(mHeadingWidget); |
124 QEvent polishEvent(QEvent::Polish); |
124 QEvent polishEvent(QEvent::Polish); |
125 QCoreApplication::sendEvent(mHeadingWidget, &polishEvent); |
125 QCoreApplication::sendEvent(mHeadingWidget, &polishEvent); |
126 } |
126 } |
127 |
127 |
128 if(!mHeadingWidget->mPageCombo) { |
128 if(!mHeadingWidget->mPageCombo) { |
132 QEvent polishEvent(QEvent::Polish); |
132 QEvent polishEvent(QEvent::Polish); |
133 QCoreApplication::sendEvent(mHeadingWidget->mPageCombo, &polishEvent); |
133 QCoreApplication::sendEvent(mHeadingWidget->mPageCombo, &polishEvent); |
134 // setFormHeading to the layout |
134 // setFormHeading to the layout |
135 if(mHeadingWidget->mPageCombo || !mHeadingWidget->mDescription.isEmpty() || |
135 if(mHeadingWidget->mPageCombo || !mHeadingWidget->mDescription.isEmpty() || |
136 !mHeadingWidget->mHeading.isEmpty()) { |
136 !mHeadingWidget->mHeading.isEmpty()) { |
137 static_cast<HbDataItemContainer*>(q->container())->setFormHeading(mHeadingWidget); |
137 static_cast<HbDataItemContainer*>(mContainer)->setFormHeading(mHeadingWidget); |
138 } |
138 } |
139 QObject::connect(mHeadingWidget->mPageCombo,SIGNAL(currentIndexChanged(int)), |
139 QObject::connect(mHeadingWidget->mPageCombo,SIGNAL(currentIndexChanged(int)), |
140 q,SLOT(_q_page_changed(int))); |
140 q,SLOT(_q_page_changed(int))); |
141 } |
141 } |
142 |
142 |
203 if(q->model()) { |
203 if(q->model()) { |
204 HbDataFormModelItem *modelItem = static_cast<HbDataFormModel *>(q->model())->itemFromIndex(index); |
204 HbDataFormModelItem *modelItem = static_cast<HbDataFormModel *>(q->model())->itemFromIndex(index); |
205 if(modelItem){ |
205 if(modelItem){ |
206 QList<ItemSignal> signalList = mConnectionList.values(modelItem); |
206 QList<ItemSignal> signalList = mConnectionList.values(modelItem); |
207 if(signalList.count() > 0){ |
207 if(signalList.count() > 0){ |
208 HbDataFormViewItem *viewItem = q->dataFormViewItem(index); |
208 HbDataFormViewItem *viewItem = static_cast<HbDataFormViewItem*>(q->itemByIndex(index)); |
209 if(viewItem){ |
209 if(viewItem){ |
210 HbWidget *contentWidget = viewItem->dataItemContentWidget(); |
210 HbWidget *contentWidget = viewItem->dataItemContentWidget(); |
211 if(contentWidget){ |
211 if(contentWidget){ |
212 foreach(ItemSignal signal, signalList) { |
212 foreach(ItemSignal signal, signalList) { |
213 QObject *objct = signal.reciever; |
213 QObject *objct = signal.reciever; |
237 if(modelItem){ |
237 if(modelItem){ |
238 QList<ItemSignal> signalList = mConnectionList.values(modelItem); |
238 QList<ItemSignal> signalList = mConnectionList.values(modelItem); |
239 mConnectionList.remove(modelItem); |
239 mConnectionList.remove(modelItem); |
240 if(signalList.count() > 0){ |
240 if(signalList.count() > 0){ |
241 QModelIndex index = |
241 QModelIndex index = |
242 static_cast<HbDataFormModel*>(modelItem->model())->indexFromItem(modelItem); |
242 static_cast<HbDataFormModel*>(q->model())->indexFromItem(modelItem); |
243 HbDataFormViewItem *viewItem = q->dataFormViewItem(index); |
243 HbDataFormViewItem *viewItem = static_cast<HbDataFormViewItem*>(q->itemByIndex(index)); |
244 if(viewItem){ |
244 if(viewItem){ |
245 HbWidget *contentWidget = viewItem->dataItemContentWidget(); |
245 HbWidget *contentWidget = viewItem->dataItemContentWidget(); |
246 if(contentWidget){ |
246 if(contentWidget){ |
247 //foreach(ItemSignal signalItem, signalList) { |
247 //foreach(ItemSignal signalItem, signalList) { |
248 for(int i = 0; i < signalList.count() ;i++){ |
248 for(int i = 0; i < signalList.count() ;i++){ |
270 void HbDataFormPrivate::connectNow(HbDataFormModelItem * modelItem, |
270 void HbDataFormPrivate::connectNow(HbDataFormModelItem * modelItem, |
271 QString signal, |
271 QString signal, |
272 QObject *reciever, |
272 QObject *reciever, |
273 QString slot) |
273 QString slot) |
274 { |
274 { |
275 Q_Q( HbDataForm); |
275 Q_Q( HbDataForm); |
276 QModelIndex index = static_cast<HbDataFormModel*>(modelItem->model())->indexFromItem(modelItem); |
276 |
277 Q_UNUSED(index); |
277 if(q->model()) { |
278 if(q->model()) { |
278 QModelIndex index = static_cast<HbDataFormModel*>(q->model())->indexFromItem(modelItem); |
279 if(modelItem){ |
279 if(modelItem){ |
280 HbDataFormViewItem *viewItem = q->dataFormViewItem(index); |
280 HbDataFormViewItem *viewItem =static_cast<HbDataFormViewItem*>( q->itemByIndex(index) ); |
281 if(viewItem){ |
281 if(viewItem){ |
282 HbWidget *contentWidget = viewItem->dataItemContentWidget(); |
282 HbWidget *contentWidget = viewItem->dataItemContentWidget(); |
283 // Make connection |
283 // Make connection |
284 if(contentWidget){ |
284 if(contentWidget){ |
285 QObject::connect(contentWidget, signal.toAscii().data(), |
285 QObject::connect(contentWidget, signal.toAscii().data(), |
298 |
298 |
299 foreach(HbDataFormModelItem* item ,keys) { |
299 foreach(HbDataFormModelItem* item ,keys) { |
300 QList<ItemSignal> signalList = mConnectionList.values(item); |
300 QList<ItemSignal> signalList = mConnectionList.values(item); |
301 mConnectionList.remove(item); |
301 mConnectionList.remove(item); |
302 if(signalList.count() > 0){ |
302 if(signalList.count() > 0){ |
303 QModelIndex index = static_cast<HbDataFormModel*>(item->model())->indexFromItem(item); |
303 QModelIndex index = static_cast<HbDataFormModel*>(q->model())->indexFromItem(item); |
304 HbDataFormViewItem *viewItem = q->dataFormViewItem(index); |
304 HbDataFormViewItem *viewItem = static_cast<HbDataFormViewItem*> (q->itemByIndex(index)); |
305 if(viewItem){ |
305 if(viewItem){ |
306 HbWidget *contentWidget = viewItem->dataItemContentWidget(); |
306 HbWidget *contentWidget = viewItem->dataItemContentWidget(); |
307 // disconnect signal and remove signal from list |
307 // disconnect signal and remove signal from list |
308 for(int i = 0;i<signalList.count();) { |
308 for(int i = 0;i<signalList.count();) { |
309 ItemSignal signalItem = signalList.takeAt(i); |
309 ItemSignal signalItem = signalList.takeAt(i); |
325 if(q->model()) { |
325 if(q->model()) { |
326 if(modelItem){ |
326 if(modelItem){ |
327 QList<ItemSignal> signalList = mConnectionList.values(modelItem); |
327 QList<ItemSignal> signalList = mConnectionList.values(modelItem); |
328 mConnectionList.remove(modelItem); |
328 mConnectionList.remove(modelItem); |
329 if(signalList.count() > 0){ |
329 if(signalList.count() > 0){ |
330 QModelIndex index = static_cast<HbDataFormModel*>(modelItem->model())->indexFromItem(modelItem); |
330 QModelIndex index = static_cast<HbDataFormModel*>(q->model())->indexFromItem(modelItem); |
331 HbDataFormViewItem *viewItem = q->dataFormViewItem(index); |
331 HbDataFormViewItem *viewItem =static_cast<HbDataFormViewItem*>( q->itemByIndex(index)); |
332 if(viewItem){ |
332 if(viewItem){ |
333 HbWidget *contentWidget = viewItem->dataItemContentWidget(); |
333 HbWidget *contentWidget = viewItem->dataItemContentWidget(); |
334 // disconnect signal and remove signal from list |
334 // disconnect signal and remove signal from list |
335 for(int i = 0;i<signalList.count(); ) { |
335 for(int i = 0;i<signalList.count(); ) { |
336 ItemSignal signalItem = signalList.takeAt(i); |
336 ItemSignal signalItem = signalList.takeAt(i); |