summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kde-frameworks/kcalendarcore')
-rw-r--r--kde-frameworks/kcalendarcore/Manifest1
-rw-r--r--kde-frameworks/kcalendarcore/files/kcalendarcore-5.76.0-rfc7986-colour-support-for-incidence.patch141
-rw-r--r--kde-frameworks/kcalendarcore/kcalendarcore-5.76.0.ebuild29
3 files changed, 171 insertions, 0 deletions
diff --git a/kde-frameworks/kcalendarcore/Manifest b/kde-frameworks/kcalendarcore/Manifest
index 7db7ddc97d73..5874b5734d61 100644
--- a/kde-frameworks/kcalendarcore/Manifest
+++ b/kde-frameworks/kcalendarcore/Manifest
@@ -1,2 +1,3 @@
DIST kcalendarcore-5.74.0.tar.xz 255684 BLAKE2B 8e2547f784881f031e9e9bd3a461aaa6219d419c43b096be9a7a357ed95fd232c5350577298bc4cc640966023cf6fec51bd952fca4a11cac817d6756fab3b2e4 SHA512 f6b48283d5433e171a1961abcbf47422fb8ce1e6412d0a83de20c16b2e81e065e16c1525440e1a29791b31ec74fbe672878cd554fceab703cc0c9c45c23524af
DIST kcalendarcore-5.75.0.tar.xz 254312 BLAKE2B 8ebd043721b152b7b4dc57c0249b845a50ebdcf7901c1c8a768b18b0ec21275d2329237c76d64e429edc5eb914511d74e78bf1fdd4d61a6acd8aba29f6837d8b SHA512 66a18b4c08988fbe821b6bb695d01898f5da4e5a9a135c91521bf343da08ee4ffd224c7ca7aad601c3126918fa2d1c0ca5ce6a27ff966a04e832d1393f3bafb7
+DIST kcalendarcore-5.76.0.tar.xz 256404 BLAKE2B 297c05e36c2562b8ac71aca338e99cc1e72c6224baf4a19457c2ea9bb5c0a7936ae3bd6470b92614c185e4e01ad2c9719a9bcc2f07cc1a9b9967bc8189d6a69f SHA512 9b6ce54997e8d95a04f3d0042ef3bd1488874aeeaa9896afbda281bd8098d8256face05edaa68d790b92e38338b1eb31151826b2c52fd94488a7ac2c87a72785
diff --git a/kde-frameworks/kcalendarcore/files/kcalendarcore-5.76.0-rfc7986-colour-support-for-incidence.patch b/kde-frameworks/kcalendarcore/files/kcalendarcore-5.76.0-rfc7986-colour-support-for-incidence.patch
new file mode 100644
index 000000000000..3be1f0c4a52b
--- /dev/null
+++ b/kde-frameworks/kcalendarcore/files/kcalendarcore-5.76.0-rfc7986-colour-support-for-incidence.patch
@@ -0,0 +1,141 @@
+From b567a3af18a19009a1e0fc637bdd004ce4ca857f Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 8 Nov 2020 18:07:09 +0100
+Subject: [PATCH] Revert Revert "Add COLOR property serialization from
+ RFC7986."
+
+The raised minimum dependency is no problem for us.
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ src/icalformat_p.cpp | 10 ++++++++++
+ src/incidence.cpp | 21 +++++++++++++++++++++
+ src/incidence.h | 16 ++++++++++++++++
+ src/incidencebase.h | 3 ++-
+ 4 files changed, 49 insertions(+), 1 deletion(-)
+
+diff --git a/src/icalformat_p.cpp b/src/icalformat_p.cpp
+index 51ebda04a..aa7b526d9 100644
+--- a/src/icalformat_p.cpp
++++ b/src/icalformat_p.cpp
+@@ -530,6 +530,12 @@ void ICalFormatImpl::writeIncidence(icalcomponent *parent,
+ icalcomponent_add_property(parent, icalproperty_new_class(secClass));
+ }
+
++ // color
++ if (!incidence->color().isEmpty()) {
++ icalcomponent_add_property(
++ parent, icalproperty_new_color(incidence->color().toUtf8().constData()));
++ }
++
+ // geo
+ if (incidence->hasGeo()) {
+ icalgeotype geo;
+@@ -1881,6 +1887,10 @@ void ICalFormatImpl::readIncidence(icalcomponent *parent, const Incidence::Ptr &
+ incidence->addAttachment(readAttachment(p));
+ break;
+
++ case ICAL_COLOR_PROPERTY:
++ incidence->setColor(QString::fromUtf8(icalproperty_get_color(p)));
++ break;
++
+ default:
+ // TODO: do something about unknown properties?
+ break;
+diff --git a/src/incidence.cpp b/src/incidence.cpp
+index db0d3255b..ab13048d5 100644
+--- a/src/incidence.cpp
++++ b/src/incidence.cpp
+@@ -73,6 +73,7 @@ public:
+ , mPriority(p.mPriority)
+ , mStatus(p.mStatus)
+ , mSecrecy(p.mSecrecy)
++ , mColor(p.mColor)
+ , mDescriptionIsRich(p.mDescriptionIsRich)
+ , mSummaryIsRich(p.mSummaryIsRich)
+ , mLocationIsRich(p.mLocationIsRich)
+@@ -150,6 +151,7 @@ public:
+ int mPriority; // priority: 1 = highest, 2 = less, etc.
+ Status mStatus; // status
+ Secrecy mSecrecy; // secrecy
++ QString mColor; // background color
+ bool mDescriptionIsRich = false; // description string is richtext.
+ bool mSummaryIsRich = false; // summary string is richtext.
+ bool mLocationIsRich = false; // location string is richtext.
+@@ -284,6 +286,7 @@ bool Incidence::equals(const IncidenceBase &incidence) const
+ && secrecy() == i2->secrecy()
+ && priority() == i2->priority()
+ && stringCompare(location(), i2->location())
++ && stringCompare(color(), i2->color())
+ && stringCompare(schedulingID(), i2->schedulingID())
+ && recurrenceId() == i2->recurrenceId()
+ && thisAndFuture() == i2->thisAndFuture();
+@@ -542,6 +545,24 @@ QString Incidence::relatedTo(RelType relType) const
+ return d->mRelatedToUid.value(relType);
+ }
+
++void Incidence::setColor(const QString &colorName)
++{
++ if (mReadOnly) {
++ return;
++ }
++ if (!stringCompare(d->mColor, colorName)) {
++ update();
++ d->mColor = colorName;
++ setFieldDirty(FieldColor);
++ updated();
++ }
++}
++
++QString Incidence::color() const
++{
++ return d->mColor;
++}
++
+ // %%%%%%%%%%%% Recurrence-related methods %%%%%%%%%%%%%%%%%%%%
+
+ Recurrence *Incidence::recurrence() const
+diff --git a/src/incidence.h b/src/incidence.h
+index 622ddb6f5..5ea625042 100644
+--- a/src/incidence.h
++++ b/src/incidence.h
+@@ -397,6 +397,22 @@ public:
+ */
+ Q_REQUIRED_RESULT QString relatedTo(RelType relType = RelTypeParent) const;
+
++ /**
++ Set the incidence color, as added in RFC7986.
++
++ @param colorName a named color as defined in CSS3 color name, see
++ https://www.w3.org/TR/css-color-3/#svg-color.
++ @since: 5.76
++ */
++ void setColor(const QString &colorName);
++
++ /**
++ Returns the color, if any is defined, for this incidence.
++
++ @since: 5.76
++ */
++ Q_REQUIRED_RESULT QString color() const;
++
+ // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ // %%%%% Convenience wrappers for property handling
+ // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+diff --git a/src/incidencebase.h b/src/incidencebase.h
+index 2dcac9a34..c079c0df2 100644
+--- a/src/incidencebase.h
++++ b/src/incidencebase.h
+@@ -185,7 +185,8 @@ public:
+ FieldComment, ///> Field representing the COMMENT component.
+ FieldUid, ///> Field representing the UID component.
+ FieldUnknown, ///> Something changed. Always set when you use the assignment operator.
+- FieldUrl ///> Field representing the URL component.
++ FieldUrl, ///> Field representing the URL component.
++ FieldColor ///> Field representing the COLOR component.
+ };
+
+ /**
+--
+2.29.2
+
diff --git a/kde-frameworks/kcalendarcore/kcalendarcore-5.76.0.ebuild b/kde-frameworks/kcalendarcore/kcalendarcore-5.76.0.ebuild
new file mode 100644
index 000000000000..17e3740db53b
--- /dev/null
+++ b/kde-frameworks/kcalendarcore/kcalendarcore-5.76.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ECM_TEST="true"
+QTMIN=5.15.1
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org
+
+DESCRIPTION="Library for interfacing with calendars"
+LICENSE="GPL-2+ test? ( LGPL-3+ )"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE=""
+
+BDEPEND="
+ sys-devel/bison
+"
+DEPEND="
+ >=dev-libs/libical-3.0.5:=
+ >=dev-qt/qtgui-${QTMIN}:5
+"
+RDEPEND="${DEPEND}
+ !kde-apps/kcalcore:5
+"
+
+RESTRICT+=" test" # multiple tests fail or hang indefinitely
+
+PATCHES=( "${FILESDIR}/${P}-rfc7986-colour-support-for-incidence.patch" )