-bool Event::hasTimeConflict() const
-{
- if(favourite() == Favourite_no) // if it's not favourite, it can't have time-conflict
- return false;
+Favourite Event::timeConflict() const {
+ if (favourite() == Favourite_no) // if it's not favourite, it can't have time-conflict
+ return Favourite_no;
+
+ QList<Event> events = conflictEvents(id(),conferenceId());
+
+ // find "strongest" conflict
+ Favourite f = Favourite_no;
+ for (int i = 0; i != events.size(); ++i) {
+ switch (events[i].favourite()) {
+ case Favourite_strong: f = Favourite_strong; break;
+ case Favourite_weak: if (f == Favourite_no) f = Favourite_weak; break;
+ case Favourite_no: break;
+ }
+ }
+ return f;