[gnome-shell] dateMenu: Use intervals with non-inclusive ends for date ranges
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] dateMenu: Use intervals with non-inclusive ends for date ranges
- Date: Tue, 30 Nov 2021 02:19:14 +0000 (UTC)
commit 2fffe914889142e4088baebccbe38a285f6a23c3
Author: Sebastian Keller <skeller gnome org>
Date: Thu Nov 4 12:42:52 2021 +0100
dateMenu: Use intervals with non-inclusive ends for date ranges
The ical events, we are comparing these intervals to use the first point
in time after the end of the event as their end time, while the code in
gnome-shell was using the last point in time within the range. This was
causing multi-day events ranging from 0:00 to 0:00 to have a trailing
"..." shown on the last day.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2023>
js/ui/calendar.js | 7 ++-----
js/ui/dateMenu.js | 13 +++++++------
2 files changed, 9 insertions(+), 11 deletions(-)
---
diff --git a/js/ui/calendar.js b/js/ui/calendar.js
index ae312c6c08..0647579053 100644
--- a/js/ui/calendar.js
+++ b/js/ui/calendar.js
@@ -47,11 +47,8 @@ function _getBeginningOfDay(date) {
}
function _getEndOfDay(date) {
- let ret = new Date(date.getTime());
- ret.setHours(23);
- ret.setMinutes(59);
- ret.setSeconds(59);
- ret.setMilliseconds(999);
+ const ret = _getBeginningOfDay(date);
+ ret.setDate(ret.getDate() + 1);
return ret;
}
diff --git a/js/ui/dateMenu.js b/js/ui/dateMenu.js
index 33c054c12f..f235ba38a2 100644
--- a/js/ui/dateMenu.js
+++ b/js/ui/dateMenu.js
@@ -127,9 +127,10 @@ class EventsSection extends St.Button {
}
setDate(date) {
- const day = [date.getFullYear(), date.getMonth(), date.getDate()];
- this._startDate = new Date(...day);
- this._endDate = new Date(...day, 23, 59, 59, 999);
+ this._startDate =
+ new Date(date.getFullYear(), date.getMonth(), date.getDate());
+ this._endDate =
+ new Date(date.getFullYear(), date.getMonth(), date.getDate() + 1);
this._updateTitle();
this._reloadEvents();
@@ -156,11 +157,11 @@ class EventsSection extends St.Button {
const timeSpanDay = GLib.TIME_SPAN_DAY / 1000;
const now = new Date();
- if (this._startDate <= now && now <= this._endDate)
+ if (this._startDate <= now && now < this._endDate)
this._title.text = _('Today');
- else if (this._endDate < now && now - this._endDate < timeSpanDay)
+ else if (this._endDate <= now && now - this._endDate < timeSpanDay)
this._title.text = _('Yesterday');
- else if (this._startDate > now && this._startDate - now < timeSpanDay)
+ else if (this._startDate > now && this._startDate - now <= timeSpanDay)
this._title.text = _('Tomorrow');
else if (this._startDate.getFullYear() === now.getFullYear())
this._title.text = this._startDate.toLocaleFormat(sameYearFormat);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]