merge of '31454db74b1a3b3d5fca41183f6969ab4a4d3f65'

and 'c663318a0219d6419a992fb60d66bd980d19ac2d'

Monotone-Parent: 31454db74b1a3b3d5fca41183f6969ab4a4d3f65
Monotone-Parent: c663318a0219d6419a992fb60d66bd980d19ac2d
Monotone-Revision: 389ee2a27fb75cca12b81a54f3b8a8c180f6d946

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2008-03-27T18:11:32
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau 2008-03-27 18:11:32 +00:00
commit 7ee91d7414
4 changed files with 68 additions and 72 deletions

View file

@ -1,3 +1,9 @@
2008-03-27 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* UI/Scheduler/UIxComponentEditor.m ([UIxComponentEditor
-setComponent:newComponent]): the weeks start on sunday in
OpenStep and are indexed from 0.
2008-03-25 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* UI/Scheduler/UIxComponentEditor.m ([UIxComponentEditor

View file

@ -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];
}

View file

@ -60,13 +60,13 @@
</td>
<td>
<div id="week"><span class="week">
<div name="1"><p><var:string label:value="Mon"/></p></div>
<div name="2"><p><var:string label:value="Tue"/></p></div>
<div name="3"><p><var:string label:value="Wed"/></p></div>
<div name="4"><p><var:string label:value="Thu"/></p></div>
<div name="5"><p><var:string label:value="Fri"/></p></div>
<div name="6"><p><var:string label:value="Sat"/></p></div>
<div name="7"><p><var:string label:value="Sun"/></p></div>
<div id="weekDay1"><p><var:string label:value="Mon"/></p></div>
<div id="weekDay2"><p><var:string label:value="Tue"/></p></div>
<div id="weekDay3"><p><var:string label:value="Wed"/></p></div>
<div id="weekDay4"><p><var:string label:value="Thu"/></p></div>
<div id="weekDay5"><p><var:string label:value="Fri"/></p></div>
<div id="weekDay6"><p><var:string label:value="Sat"/></p></div>
<div id="weekDay0"><p><var:string label:value="Sun"/></p></div>
</span><span class="week"><!-- space --></span>
</div>
</td>
@ -103,45 +103,45 @@
<td>
<div id="month">
<span class="week">
<div name="1"><p>1</p></div>
<div name="2"><p>2</p></div>
<div name="3"><p>3</p></div>
<div name="4"><p>4</p></div>
<div name="5"><p>5</p></div>
<div name="6"><p>6</p></div>
<div name="7"><p>7</p></div>
<div id="monthDay1"><p>1</p></div>
<div id="monthDay2"><p>2</p></div>
<div id="monthDay3"><p>3</p></div>
<div id="monthDay4"><p>4</p></div>
<div id="monthDay5"><p>5</p></div>
<div id="monthDay6"><p>6</p></div>
<div id="monthDay7"><p>7</p></div>
</span>
<span class="week">
<div name="8"><p>8</p></div>
<div name="9"><p>9</p></div>
<div name="10"><p>10</p></div>
<div name="11"><p>11</p></div>
<div name="12"><p>12</p></div>
<div name="13"><p>13</p></div>
<div name="14"><p>14</p></div>
<div id="monthDay8"><p>8</p></div>
<div id="monthDay9"><p>9</p></div>
<div id="monthDay10"><p>10</p></div>
<div id="monthDay11"><p>11</p></div>
<div id="monthDay12"><p>12</p></div>
<div id="monthDay13"><p>13</p></div>
<div id="monthDay14"><p>14</p></div>
</span>
<span class="week">
<div name="15"><p>15</p></div>
<div name="16"><p>16</p></div>
<div name="17"><p>17</p></div>
<div name="18"><p>18</p></div>
<div name="19"><p>19</p></div>
<div name="20"><p>20</p></div>
<div name="21"><p>21</p></div>
<div id="monthDay15"><p>15</p></div>
<div id="monthDay16"><p>16</p></div>
<div id="monthDay17"><p>17</p></div>
<div id="monthDay18"><p>18</p></div>
<div id="monthDay19"><p>19</p></div>
<div id="monthDay20"><p>20</p></div>
<div id="monthDay21"><p>21</p></div>
</span>
<span class="week">
<div name="22"><p>22</p></div>
<div name="23"><p>23</p></div>
<div name="24"><p>24</p></div>
<div name="25"><p>25</p></div>
<div name="26"><p>26</p></div>
<div name="27"><p>27</p></div>
<div name="28"><p>28</p></div>
<div id="monthDay22"><p>22</p></div>
<div id="monthDay23"><p>23</p></div>
<div id="monthDay24"><p>24</p></div>
<div id="monthDay25"><p>25</p></div>
<div id="monthDay26"><p>26</p></div>
<div id="monthDay27"><p>27</p></div>
<div id="monthDay28"><p>28</p></div>
</span>
<span class="week">
<div name="29"><p>29</p></div>
<div name="30"><p>30</p></div>
<div name="31"><p>31</p></div>
<div id="monthDay29"><p>29</p></div>
<div id="monthDay30"><p>30</p></div>
<div id="monthDay31"><p>31</p></div>
</span>
<span class="week"></span>
</div>

View file

@ -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");
}
}