Index: src/helper.cpp =================================================================== --- src/helper.cpp +++ src/helper.cpp @@ -62,38 +62,29 @@ return QColor(); } const QString id = QString::number(coll.id()); + // Color stored in eventviewsrc (and in memory) QColor color = preferences->resourceColorKnown(id); - if (!color.isValid() && coll.hasAttribute()) { + if (color.isValid()) { + return color; + } + // Color stored in akonadi + if (coll.hasAttribute()) { Akonadi::CollectionColorAttribute *colorAttr = coll.attribute(); if (colorAttr && colorAttr->color().isValid()) { - color = colorAttr->color(); - } else { - return preferences->resourceColor(id); + return colorAttr->color(); } } - return color; + // Generate new color and store it in eventsviewsrc (and in memory) + return preferences->resourceColor(id); } QColor EventViews::resourceColor(const Akonadi::Item &item, const PrefsPtr &preferences) { if (!item.isValid()) { return QColor(); } - const QString id = QString::number(item.parentCollection().id()); - - QColor color = preferences->resourceColorKnown(id); - if (!color.isValid() - && item.parentCollection().hasAttribute()) { - Akonadi::CollectionColorAttribute *colorAttr - = item.parentCollection().attribute(); - if (colorAttr && colorAttr->color().isValid()) { - color = colorAttr->color(); - } else { - return preferences->resourceColor(id); - } - } - return color; + return resourceColor(item.parentCollection(), preferences); } int EventViews::yearDiff(const QDate &start, const QDate &end)