//int spacer = (fmSmall.boundingRect("999").width() < SPACER) ? SPACER : fmSmall.boundingRect("999").width();
//Time conflicts are colored differently
- if(hasTimeConflict(index, index.parent()))
+ if(static_cast<Event*>(index.internalPointer())->isFavourite())
+ if(static_cast<Event*>(index.internalPointer())->hasTimeConflict())
{
bkgrColor = Qt::yellow;
}
// map
painter->drawImage(mControls[MapControl]->drawPoint(option.rect),*mControls[MapControl]->image());
// Time conflict
- //if(static_cast<Event*>(index.internalPointer())->hasTimeConflict())
-
- if(hasTimeConflict(index, index.parent()))
+ if(static_cast<Event*>(index.internalPointer())->hasTimeConflict())
painter->drawImage(mControls[WarningControl]->drawPoint(option.rect),*mControls[WarningControl]->image());
// draw texts
{
if(id == WarningControl)
{
- if(mControls[id]->hasConflict)
+ if(static_cast<Event*>(aIndex.internalPointer())->hasTimeConflict())
return id;
}
else
// WARNING ICON
control = new Control(WarningControl,QString(":icons/exclamation.png"));
p = mControls[MapControl]->drawPoint();
- control->hasConflict = false;
p.setX(p.x()-control->image()->width()-SPACER);
control->setDrawPoint(p);
mControls.insert(WarningControl,control);
return nrofAlarms;
}
-bool Delegate::hasTimeConflict(const QModelIndex &index, const QModelIndex &parent) const
-{
- Event *event = static_cast<Event*>(index.internalPointer());
- QTime start = event->start().time();
- QTime end = start.addSecs(event->duration());
- for(int i=0; i<parent.model()->rowCount(parent); i++)
- {
- if((event->id()!=static_cast<Event*>(parent.child(i,0).internalPointer())->id())
- &&
- (static_cast<Event*>(parent.child(i,0).internalPointer())->isFavourite()))
- {
- if (((start >= static_cast<Event*>(parent.child(i,0).internalPointer())->start().time())
- &&
- (start < static_cast<Event*>(parent.child(i,0).internalPointer())->start().time().addSecs(static_cast<Event*>(parent.child(i,0).internalPointer())->duration())))
- ||
- ((end > static_cast<Event*>(parent.child(i,0).internalPointer())->start().time())
- &&
- (end <= static_cast<Event*>(parent.child(i,0).internalPointer())->start().time().addSecs(static_cast<Event*>(parent.child(i,0).internalPointer())->duration()))))
- {
- return true;
- }
- }
- }
- return false;
-}
-