From 89a657ed98e70efaeef566b0876b406bbcdb2255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Tue, 4 Aug 2020 13:35:52 +0200 Subject: Start work on long event layout for months. --- module/vcomponent/datetime.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'module/vcomponent/datetime.scm') diff --git a/module/vcomponent/datetime.scm b/module/vcomponent/datetime.scm index 3f81c359..faeae70a 100644 --- a/module/vcomponent/datetime.scm +++ b/module/vcomponent/datetime.scm @@ -122,6 +122,15 @@ Event must have the DTSTART and DTEND protperty set." (datetime-difference it (prop ev 'DTSTART))) #f))) +(define-public (really-long-event? ev) + (let ((start (prop ev 'DTSTART)) + (end (prop ev 'DTEND))) + (if (date? start) + (and end (date< (date+ start (date day: 1)) end)) + (and end + (datetime< (datetime date: (date day: 1)) + (datetime-difference end start)))))) + ;; DTEND of the last instance of this event. ;; event → (or datetime #f) @@ -136,7 +145,7 @@ Event must have the DTSTART and DTEND protperty set." (as-datetime final)) #f)))) -;; date, date, [sorted-stream events] → [list events] +;; date, date, [sorted-stream events] → [sorted-stream events] (define-public (events-between start-date end-date events) (define (overlaps e) (timespan-overlaps? start-date (date+ end-date (date day: 1)) -- cgit v1.2.3