From e5dc646a89f291116a411f3898fefdb785555d46 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Thu, 27 Mar 2008 14:12:03 +0000 Subject: [PATCH] Monotone-Parent: dce21121f8200e5ab8178d73d611fedf97c7e4fb Monotone-Revision: c663318a0219d6419a992fb60d66bd980d19ac2d Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2008-03-27T14:12:03 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 6 ++ UI/Scheduler/UIxComponentEditor.m | 37 ++++----- .../SchedulerUI/UIxRecurrenceEditor.wox | 76 +++++++++---------- UI/WebServerResources/UIxRecurrenceEditor.js | 21 ++--- 4 files changed, 68 insertions(+), 72 deletions(-) diff --git a/ChangeLog b/ChangeLog index 87b2d996b..5d07f8d5c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-03-27 Wolfgang Sourdeau + + * UI/Scheduler/UIxComponentEditor.m ([UIxComponentEditor + -setComponent:newComponent]): the weeks start on sunday in + OpenStep and are indexed from 0. + 2008-03-25 Wolfgang Sourdeau * UI/Scheduler/UIxComponentEditor.m ([UIxComponentEditor diff --git a/UI/Scheduler/UIxComponentEditor.m b/UI/Scheduler/UIxComponentEditor.m index 91d40d0fb..27ad5be29 100644 --- a/UI/Scheduler/UIxComponentEditor.m +++ b/UI/Scheduler/UIxComponentEditor.m @@ -218,24 +218,19 @@ iRANGE(2); - (NSString *) _dayMaskToInteger: (unsigned int) theMask { - NSMutableString *s; + iCalWeekDay maskDays[] = {iCalWeekDaySunday, iCalWeekDayMonday, + iCalWeekDayTuesday, iCalWeekDayWednesday, + iCalWeekDayThursday, iCalWeekDayFriday, + iCalWeekDaySaturday}; unsigned int i; + NSMutableString *s; - unsigned char maskDays[] = { iCalWeekDayMonday, iCalWeekDayTuesday, - iCalWeekDayWednesday, iCalWeekDayThursday, - iCalWeekDayFriday, iCalWeekDaySaturday, - iCalWeekDaySunday }; - s = [NSMutableString string]; - - for (i = 0; i < 7; i++) - { - if ((theMask&maskDays[i]) == maskDays[i]) - [s appendFormat: @"%d,", i+1]; - } - if ([s length]) - return [s substringToIndex: [s length]-1]; + for (i = 0; i < 7; i++) + if ((theMask & maskDays[i])) + [s appendFormat: @"%d,", i]; + [s deleteSuffix: @","]; return s; } @@ -262,9 +257,7 @@ iRANGE(2); | iCalWeekDayFriday)) { if ([rule isInfinite]) - { - repeat = @"EVERY WEEKDAY"; - } + repeat = @"EVERY WEEKDAY"; repeat1 = @"1"; } else @@ -272,9 +265,7 @@ iRANGE(2); repeat1 = @"0"; if ([rule repeatInterval] == 1 && [rule isInfinite]) - { - repeat = @"DAILY"; - } + repeat = @"DAILY"; [self setRepeat2: [NSString stringWithFormat: @"%d", [rule repeatInterval]]]; } @@ -351,9 +342,7 @@ iRANGE(2); [self setRange2: [[rule untilDate] descriptionWithCalendarFormat: @"%Y-%m-%d"]]; } else - { - [self setRange1: @"0"]; - } + [self setRange1: @"0"]; } else DESTROY(repeat); @@ -1394,7 +1383,7 @@ RANGE(2); mask = 0; while (c--) - mask |= 1 << ([[v objectAtIndex: c] intValue] - 1); + mask |= 1 << ([[v objectAtIndex: c] intValue]); [theRule setByDayMask: mask]; } diff --git a/UI/Templates/SchedulerUI/UIxRecurrenceEditor.wox b/UI/Templates/SchedulerUI/UIxRecurrenceEditor.wox index a9764a1bf..d17d0fc6d 100644 --- a/UI/Templates/SchedulerUI/UIxRecurrenceEditor.wox +++ b/UI/Templates/SchedulerUI/UIxRecurrenceEditor.wox @@ -60,13 +60,13 @@
-

-

-

-

-

-

-

+

+

+

+

+

+

+

@@ -103,45 +103,45 @@
-

1

-

2

-

3

-

4

-

5

-

6

-

7

+

1

+

2

+

3

+

4

+

5

+

6

+

7

-

8

-

9

-

10

-

11

-

12

-

13

-

14

+

8

+

9

+

10

+

11

+

12

+

13

+

14

-

15

-

16

-

17

-

18

-

19

-

20

-

21

+

15

+

16

+

17

+

18

+

19

+

20

+

21

-

22

-

23

-

24

-

25

-

26

-

27

-

28

+

22

+

23

+

24

+

25

+

26

+

27

+

28

-

29

-

30

-

31

+

29

+

30

+

31

diff --git a/UI/WebServerResources/UIxRecurrenceEditor.js b/UI/WebServerResources/UIxRecurrenceEditor.js index b513dc128..5443379fc 100644 --- a/UI/WebServerResources/UIxRecurrenceEditor.js +++ b/UI/WebServerResources/UIxRecurrenceEditor.js @@ -25,12 +25,16 @@ function setRepeatType(type) { }); } -function getSelectedDays(element) { +function getSelectedDays(periodType) { + var element = $(periodType); var elementsArray = $A(element.getElementsByTagName('DIV')); var days = new Array(); + var dayPrefix = periodType + "Day"; elementsArray.each(function(item) { - if (isNodeSelected(item)) - days.push(item.readAttribute("name")); + if (isNodeSelected(item)) { + var label = "" + item.getAttribute("id"); + days.push(label.substr(dayPrefix.length)); + } }); return days.join(","); } @@ -93,15 +97,13 @@ function initializeFormValues() { else if (repeatType == 1) { // Repeat weekly $('weeklyWeeksField').value = parent$("repeat1").value; - var weekDiv = $($("week").firstChild); // log ("div: " + weekDiv); // log ("days: " + parent$("repeat2").value); var days = "" + parent$("repeat2").value; if (days.length > 0) { var daysArray = days.split(","); - var divs = weekDiv.childNodesWithTag("div"); daysArray.each(function(index) { - divs[index-1].addClassName("_selected"); + $("weekDay"+index).addClassName("_selected"); }); } } @@ -111,12 +113,11 @@ function initializeFormValues() { $('recurrence_form').setRadioValue('monthlyRadioButtonName', parent$("repeat2").value); $('monthlyRepeat').value = parent$("repeat3").value; $('monthlyDay').value = parent$("repeat4").value; - var monthDiv = $("month"); var days = "" + parent$("repeat5").value; if (days.length > 0) { var daysArray = days.split(","); daysArray.each(function(index) { - $(monthDiv).down('DIV[name="'+index+'"]').addClassName("_selected"); + $("monthDay" + index).addClassName("_selected"); }); } } @@ -200,7 +201,7 @@ function handleWeeklyRecurrence() { validate = true; showError = false; parent$("repeat1").value = fieldValue; - parent$("repeat2").value = getSelectedDays($('week')); + parent$("repeat2").value = getSelectedDays("week"); } } @@ -233,7 +234,7 @@ function handleMonthlyRecurrence() { parent$("repeat2").value = radioValue; parent$("repeat3").value = $('monthlyRepeat').value; parent$("repeat4").value = $('monthlyDay').value; - parent$("repeat5").value = getSelectedDays($('month')); + parent$("repeat5").value = getSelectedDays("month"); } }