From 2085b83960cbb8e4693cf48a5bd265aa946256de Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Fri, 3 Aug 2018 13:49:56 +0200 Subject: Weekview with calendar colors --- framework/src/domain/daylongeventmodel.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'framework/src/domain/daylongeventmodel.cpp') diff --git a/framework/src/domain/daylongeventmodel.cpp b/framework/src/domain/daylongeventmodel.cpp index 0ea73709..1b47edda 100644 --- a/framework/src/domain/daylongeventmodel.cpp +++ b/framework/src/domain/daylongeventmodel.cpp @@ -25,6 +25,8 @@ #include #include +#include "entitycache.h" + DayLongEventModel::DayLongEventModel(QObject *parent) : QSortFilterProxyModel(parent) { Sink::Query query; @@ -33,11 +35,14 @@ DayLongEventModel::DayLongEventModel(QObject *parent) : QSortFilterProxyModel(pa query.request(); query.request(); query.request(); + query.request(); query.filter(true); mModel = Sink::Store::loadModel(query); + mCalendarCache = EntityCache::Ptr::create(); + setSourceModel(mModel.data()); } @@ -48,9 +53,15 @@ QHash DayLongEventModel::roleNames() const {Description, "description"}, {StartDate, "starts"}, {Duration, "duration"}, + {Color, "color"}, }; } +QByteArray DayLongEventModel::getColor(const QByteArray &calendar) const +{ + return mCalendarCache->getProperty(calendar, "color").toByteArray(); +} + QVariant DayLongEventModel::data(const QModelIndex &idx, int role) const { auto srcIdx = mapToSource(idx); @@ -71,6 +82,8 @@ QVariant DayLongEventModel::data(const QModelIndex &idx, int role) const } case Duration: return event->getStartTime().date().daysTo(event->getEndTime().date()); + case Color: + return getColor(event->getCalendar()); } return QSortFilterProxyModel::data(idx, role); -- cgit v1.2.3