[gnome-shell/gnome-40] dateMenu: Use intervals with non-inclusive ends for date ranges
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/gnome-40] dateMenu: Use intervals with non-inclusive ends for date ranges
- Date: Sat, 11 Dec 2021 16:25:03 +0000 (UTC)
commit 3636fa46235d828d4ae748cb2e6bc16724181b85
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>
(cherry picked from commit 2fffe914889142e4088baebccbe38a285f6a23c3)
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 8ccc73d709..0ff103f2c4 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]