From 07b41d4420a121017285f7fffdad51c683ab0e00 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Mon, 27 Aug 2012 14:41:38 +0000 Subject: [PATCH] See ChangeLog Monotone-Parent: 81e5a2cbed9325efd0e582da75adabe4e79cff9f Monotone-Revision: 6132fa152e84c6f1d0cd0239e2dff1524f6b34c1 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2012-08-27T14:41:38 --- ChangeLog | 14 ++++++++++++-- NEWS | 1 + UI/Scheduler/UIxCalListingActions.m | 3 ++- UI/WebServerResources/SchedulerUI.css | 22 ++++++++++++---------- UI/WebServerResources/SchedulerUI.js | 5 ++++- 5 files changed, 31 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 556db6045..8af3e7c63 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2012-08-27 Francis Lachapelle + + * UI/WebServerResources/SchedulerUI.js (tasksListCallback): prefix + tasks with a color box insted of changing the task's background color. + + * UI/Scheduler/UIxCalListingActions.m + (-_getStatusClassForStatusCode:andEndDateStamp::): set the + timezone of the due date to the user's timezone to properly + identify tasks due today. + 2012-08-27 Ludovic Marcotte * SoObjects/Appointments/iCalPerson+SOGo.m (mailAddress): @@ -6,7 +16,7 @@ 2012-08-24 Francis Lachapelle - * UI/MailPartViewers/UIxMailPartHTMLViewer.m (_sanitizeContent): + * UI/MailPartViewers/UIxMailPartHTMLViewer.m (-_sanitizeContent): fix invalid void tags to insure proper HTML decoding. Fixes #1581. 2012-08-07 Francis Lachapelle @@ -16,7 +26,7 @@ 2012-08-03 Jean Raby - * SoObjects/SOGo/LDAPSource.m (changePasswordForLogin): + * SoObjects/SOGo/LDAPSource.m (-changePasswordForLogin): if userPasswordAlgorithm was not set or was set to "none", use the plaintext password directly instead of using '{none}plaintext' which isn't valid. diff --git a/NEWS b/NEWS index 3e2cf1b54..9f4975ba6 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,7 @@ Enhancements - mail filters (Sieve) are no longer conditional to each other (all filters are executed, no matter if a previous condition matches) + - improved tasks list display - RPM packages now treat logrotate file as a config file Bug Fixes diff --git a/UI/Scheduler/UIxCalListingActions.m b/UI/Scheduler/UIxCalListingActions.m index b6ef06590..7782c3216 100644 --- a/UI/Scheduler/UIxCalListingActions.m +++ b/UI/Scheduler/UIxCalListingActions.m @@ -1023,6 +1023,7 @@ _computeBlocksPosition (NSArray *blocks) now = [NSCalendarDate calendarDate]; taskDate = [NSCalendarDate dateWithTimeIntervalSince1970: endDateStamp]; + [taskDate setTimeZone: userTimeZone]; if ([taskDate earlierDate: now] == taskDate) statusClass = @"overdue"; else @@ -1034,7 +1035,7 @@ _computeBlocksPosition (NSArray *blocks) } } else - statusClass = @"duelater"; + statusClass = @"noduedate"; } return statusClass; diff --git a/UI/WebServerResources/SchedulerUI.css b/UI/WebServerResources/SchedulerUI.css index e6bc2d6c3..e243922ed 100644 --- a/UI/WebServerResources/SchedulerUI.css +++ b/UI/WebServerResources/SchedulerUI.css @@ -82,22 +82,24 @@ UL#tasksList LI width: 100%; white-space: nowrap; } +UL#tasksList LI.duelater, +UL#tasksList LI.duetoday, UL#tasksList LI.overdue +{ font-weight: bold; } + +UL#tasksList LI.overdue, +UL#tasksList LI.important { color: #f00 !important; } UL#tasksList LI.duetoday { color: #00f !important; } -UL#tasksList LI.completed +UL#tasksList LI.completed SPAN { text-decoration: line-through; color: #000; } -UL#tasksList LI.duelater -{ color: #999 !important; } - UL#tasksList LI.important SPAN -{ color: #f00 !important; - background-image: url(important.png); +{ background-image: url(important.png); background-repeat: no-repeat; background-position: 3px 2px; padding-left: 10px; @@ -105,16 +107,16 @@ UL#tasksList LI.important SPAN UL#tasksList LI SPAN { padding-left: 2px; } -UL#tasksList LI[class~="_selected"].overdue +UL#tasksList LI._selected.overdue { color: #fff !important; background-color: #f00 !important; } -UL#tasksList LI[class~="_selected"].duetoday +UL#tasksList LI._selected.duetoday { color: #fff !important; background-color: #00f !important; } -UL#tasksList LI[class~="_selected"].duelater, -UL#tasksList LI[class~="_selected"].completed +UL#tasksList LI._selected.duelater, +UL#tasksList LI._selected.completed { color: #fff !important; background-color: #9ABCD8 !important; } diff --git a/UI/WebServerResources/SchedulerUI.js b/UI/WebServerResources/SchedulerUI.js index 3e316355b..f0f128dc1 100644 --- a/UI/WebServerResources/SchedulerUI.js +++ b/UI/WebServerResources/SchedulerUI.js @@ -1027,7 +1027,6 @@ function tasksListCallback(http) { //listItem.addClassName(data[i][5]); // Classification listItem.addClassName(data[i][9]); // status (duelater, completed, etc) listItem.calendar = calendar; - listItem.addClassName("calendarFolder" + calendar); listItem.cname = cname; listItem.erasable = data[i][7] || IsSuperUser; var input = createElement("input"); @@ -1044,6 +1043,10 @@ function tasksListCallback(http) { input.setAttribute("checked", "checked"); $(input).addClassName("checkBox"); + var colorDiv = createElement("div", false, "colorBox calendarFolder" + calendar); + colorDiv.update('OO'); + listItem.appendChild(colorDiv); + var t = new Element ("span"); t.update(data[i][3]); listItem.appendChild (t);