8 TreeView::TreeView(QWidget *aParent)
13 void TreeView::mouseReleaseEvent(QMouseEvent *aEvent)
15 QModelIndex index = currentIndex();
16 QPoint point = aEvent->pos();
18 testForControlClicked(index,point);
20 // pass the event to the Base class, so item clicks/events are handled correctly
21 QTreeView::mouseReleaseEvent(aEvent);
24 void TreeView::testForControlClicked(const QModelIndex &aIndex, const QPoint &aPoint)
29 QRect rect = visualRect(aIndex); // visual QRect of selected/clicked item in the list
30 Delegate *delegate = static_cast<Delegate*>(itemDelegate(aIndex));
31 switch(delegate->whichControlClicked(aIndex,aPoint))
33 case Delegate::FavouriteControl:
35 // handle Favourite Control clicked
36 qDebug() << "FAVOURITE CLICKED: " << qVariantValue<QString>(aIndex.data());
39 case Delegate::AlarmControl:
41 // handle Alarm Control clicked
42 qDebug() << "ALARM CLICKED: " << qVariantValue<QString>(aIndex.data());
45 case Delegate::MapControl:
47 // handle Alarm Control clicked
48 qDebug() << "MAP CLICKED: " << qVariantValue<QString>(aIndex.data());
51 case Delegate::ControlNone:
54 // item was clicked, but not a control