diff options
Diffstat (limited to 'kde-frameworks/kcalendarcore')
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" ) |