File indexing completed on 2024-05-12 05:21:24

0001 /*
0002   This file is part of KOrganizer.
0003 
0004   SPDX-FileCopyrightText: 2005 Reinhold Kainhofer <reinhold@kainhofer.com>
0005 
0006   SPDX-License-Identifier: GPL-2.0-or-later WITH Qt-Commercial-exception-1.0
0007 */
0008 
0009 #include "kohelper.h"
0010 #include "prefs/koprefs.h"
0011 
0012 #include <EventViews/Helper>
0013 
0014 #include <CalendarSupport/KCalPrefs>
0015 #include <KLocalizedString>
0016 #include <KMessageBox>
0017 
0018 QColor KOHelper::getTextColor(const QColor &c)
0019 {
0020     const double luminance = (c.red() * 0.299) + (c.green() * 0.587) + (c.blue() * 0.114);
0021     return (luminance > 128.0) ? QColor(0, 0, 0) : QColor(255, 255, 255);
0022 }
0023 
0024 QColor KOHelper::resourceColor(const Akonadi::Collection &coll)
0025 {
0026     return EventViews::resourceColor(coll, KOPrefs::instance()->eventViewsPreferences());
0027 }
0028 
0029 QColor KOHelper::resourceColorKnown(const Akonadi::Collection &coll)
0030 {
0031     return EventViews::resourceColor(coll, KOPrefs::instance()->eventViewsPreferences());
0032 }
0033 
0034 void KOHelper::setResourceColor(const Akonadi::Collection &collection, const QColor &color)
0035 {
0036     EventViews::setResourceColor(collection, color, KOPrefs::instance()->eventViewsPreferences());
0037     KOPrefs::instance()->eventViewsPreferences()->writeConfig();
0038 }
0039 
0040 QColor KOHelper::resourceColor(const Akonadi::Item &item)
0041 {
0042     return EventViews::resourceColor(item, KOPrefs::instance()->eventViewsPreferences());
0043 }
0044 
0045 int KOHelper::yearDiff(QDate start, QDate end)
0046 {
0047     return end.year() - start.year();
0048 }
0049 
0050 bool KOHelper::isStandardCalendar(Akonadi::Collection::Id id)
0051 {
0052     return id == CalendarSupport::KCalPrefs::instance()->defaultCalendarId();
0053 }
0054 
0055 void KOHelper::showSaveIncidenceErrorMsg(QWidget *parent, const KCalendarCore::Incidence::Ptr &incidence)
0056 {
0057     KMessageBox::error(parent, i18n("Unable to save %1 \"%2\".", i18n(incidence->typeStr().constData()), incidence->summary()));
0058 }