equal
deleted
inserted
replaced
23 ** |
23 ** |
24 ****************************************************************************/ |
24 ****************************************************************************/ |
25 |
25 |
26 #include "hbdataform_p.h" |
26 #include "hbdataform_p.h" |
27 #include <hbdataformviewitem.h> |
27 #include <hbdataformviewitem.h> |
|
28 #include "hbdataformviewitem_p.h" |
28 #include "hbdataitemcontainer_p.h" |
29 #include "hbdataitemcontainer_p.h" |
29 #include <hbcombobox.h> |
30 #include <hbcombobox.h> |
30 #include <hbapplication.h> |
31 #include <hbapplication.h> |
31 #include <hbdataformmodel.h> |
32 #include <hbdataformmodel.h> |
32 #include "hbdataformheadingwidget_p.h" |
33 #include "hbdataformheadingwidget_p.h" |
205 if(modelItem){ |
206 if(modelItem){ |
206 QList<ItemSignal> signalList = mConnectionList.values(modelItem); |
207 QList<ItemSignal> signalList = mConnectionList.values(modelItem); |
207 if(signalList.count() > 0){ |
208 if(signalList.count() > 0){ |
208 HbDataFormViewItem *viewItem = static_cast<HbDataFormViewItem*>(q->itemByIndex(index)); |
209 HbDataFormViewItem *viewItem = static_cast<HbDataFormViewItem*>(q->itemByIndex(index)); |
209 if(viewItem){ |
210 if(viewItem){ |
210 HbWidget *contentWidget = viewItem->dataItemContentWidget(); |
211 HbWidget *contentWidget = HbDataFormViewItemPrivate::d_ptr(viewItem)->mContentWidget; |
211 if(contentWidget){ |
212 if(contentWidget){ |
212 foreach(ItemSignal signal, signalList) { |
213 foreach(ItemSignal signal, signalList) { |
213 QObject *objct = signal.reciever; |
214 QObject *objct = signal.reciever; |
214 QString signalName = signal.signal; |
215 QString signalName = signal.signal; |
215 QString slot = signal.slot; |
216 QString slot = signal.slot; |
240 if(signalList.count() > 0){ |
241 if(signalList.count() > 0){ |
241 QModelIndex index = |
242 QModelIndex index = |
242 static_cast<HbDataFormModel*>(q->model())->indexFromItem(modelItem); |
243 static_cast<HbDataFormModel*>(q->model())->indexFromItem(modelItem); |
243 HbDataFormViewItem *viewItem = static_cast<HbDataFormViewItem*>(q->itemByIndex(index)); |
244 HbDataFormViewItem *viewItem = static_cast<HbDataFormViewItem*>(q->itemByIndex(index)); |
244 if(viewItem){ |
245 if(viewItem){ |
245 HbWidget *contentWidget = viewItem->dataItemContentWidget(); |
246 HbWidget *contentWidget = HbDataFormViewItemPrivate::d_ptr(viewItem)->mContentWidget; |
246 if(contentWidget){ |
247 if(contentWidget){ |
247 //foreach(ItemSignal signalItem, signalList) { |
248 //foreach(ItemSignal signalItem, signalList) { |
248 for(int i = 0; i < signalList.count() ;i++){ |
249 for(int i = 0; i < signalList.count() ;i++){ |
249 ItemSignal signalItem = signalList.at(i); |
250 ItemSignal signalItem = signalList.at(i); |
250 if(reciever == signalItem.reciever && |
251 if(reciever == signalItem.reciever && |
275 Q_Q( HbDataForm); |
276 Q_Q( HbDataForm); |
276 |
277 |
277 if(q->model()) { |
278 if(q->model()) { |
278 QModelIndex index = static_cast<HbDataFormModel*>(q->model())->indexFromItem(modelItem); |
279 QModelIndex index = static_cast<HbDataFormModel*>(q->model())->indexFromItem(modelItem); |
279 if(modelItem){ |
280 if(modelItem){ |
280 HbDataFormViewItem *viewItem =static_cast<HbDataFormViewItem*>( q->itemByIndex(index) ); |
281 HbDataFormViewItem *viewItem =static_cast<HbDataFormViewItem*>( q->itemByIndex(index) ); |
281 if(viewItem){ |
282 if(viewItem){ |
282 HbWidget *contentWidget = viewItem->dataItemContentWidget(); |
283 if(HbDataFormViewItemPrivate::d_ptr(viewItem)->mContentWidget) { |
283 // Make connection |
284 // Make connection |
284 if(contentWidget){ |
285 QObject::connect(HbDataFormViewItemPrivate::d_ptr(viewItem)->mContentWidget, signal.toAscii().data(), |
285 QObject::connect(contentWidget, signal.toAscii().data(), |
|
286 reciever,slot.toAscii().data()); |
286 reciever,slot.toAscii().data()); |
287 } |
287 } |
288 } |
288 } |
289 } |
289 } |
290 } |
290 } |
291 } |
291 } |
292 |
292 |
301 mConnectionList.remove(item); |
301 mConnectionList.remove(item); |
302 if(signalList.count() > 0){ |
302 if(signalList.count() > 0){ |
303 QModelIndex index = static_cast<HbDataFormModel*>(q->model())->indexFromItem(item); |
303 QModelIndex index = static_cast<HbDataFormModel*>(q->model())->indexFromItem(item); |
304 HbDataFormViewItem *viewItem = static_cast<HbDataFormViewItem*> (q->itemByIndex(index)); |
304 HbDataFormViewItem *viewItem = static_cast<HbDataFormViewItem*> (q->itemByIndex(index)); |
305 if(viewItem){ |
305 if(viewItem){ |
306 HbWidget *contentWidget = viewItem->dataItemContentWidget(); |
306 HbWidget *contentWidget = HbDataFormViewItemPrivate::d_ptr(viewItem)->mContentWidget; |
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); |
310 // Make connection |
310 // Make connection |
311 QObject::disconnect(contentWidget, signalItem.signal.toAscii().data(), |
311 QObject::disconnect(contentWidget, signalItem.signal.toAscii().data(), |
328 mConnectionList.remove(modelItem); |
328 mConnectionList.remove(modelItem); |
329 if(signalList.count() > 0){ |
329 if(signalList.count() > 0){ |
330 QModelIndex index = static_cast<HbDataFormModel*>(q->model())->indexFromItem(modelItem); |
330 QModelIndex index = static_cast<HbDataFormModel*>(q->model())->indexFromItem(modelItem); |
331 HbDataFormViewItem *viewItem =static_cast<HbDataFormViewItem*>( q->itemByIndex(index)); |
331 HbDataFormViewItem *viewItem =static_cast<HbDataFormViewItem*>( q->itemByIndex(index)); |
332 if(viewItem){ |
332 if(viewItem){ |
333 HbWidget *contentWidget = viewItem->dataItemContentWidget(); |
333 HbWidget *contentWidget = HbDataFormViewItemPrivate::d_ptr(viewItem)->mContentWidget; |
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); |
337 // Make connection |
337 // Make connection |
338 QObject::disconnect(contentWidget, signalItem.signal.toAscii().data(), |
338 QObject::disconnect(contentWidget, signalItem.signal.toAscii().data(), |
342 } |
342 } |
343 } |
343 } |
344 } |
344 } |
345 } |
345 } |
346 |
346 |
|
347 void HbDataFormPrivate::emitActivated(const QModelIndex &modelIndex) |
|
348 { |
|
349 Q_Q( HbDataForm); |
|
350 emit q->activated(modelIndex); |
|
351 } |
|
352 |