Prevent serializing one attribute twice. Bug 297530, r=vlad

This commit is contained in:
mvl%exedo.nl 2005-06-13 23:19:01 +00:00
Родитель 8ded529181
Коммит 58f58c45ae
2 изменённых файлов: 19 добавлений и 14 удалений

Просмотреть файл

@ -150,8 +150,8 @@ calEvent.prototype = {
},
icsEventPropMap: [
{ cal: "mStartDate", ics: "startTime" },
{ cal: "mEndDate", ics: "endTime" }],
{ cal: "DTSTART", ics: "startTime" },
{ cal: "DTEND", ics: "endTime" }],
set icalString(value) {
this.icalComponent = icalFromString(value);
@ -176,14 +176,17 @@ calEvent.prototype = {
this.fillIcalComponentFromBase(icalcomp);
this.mapPropsToICS(icalcomp, this.icsEventPropMap);
dump("sd: "+this.getProperty("DTSTART")+"\n")
var bagenum = this.mProperties.enumerator;
while (bagenum.hasMoreElements()) {
var iprop = bagenum.getNext().
QueryInterface(Components.interfaces.nsIProperty);
try {
var icalprop = icssvc.createIcalProperty(iprop.name);
icalprop.stringValue = iprop.value;
icalcomp.addProperty(icalprop);
if (!this.eventPromotedProps[iprop.name]) {
var icalprop = icssvc.createIcalProperty(iprop.name);
icalprop.stringValue = iprop.value;
icalcomp.addProperty(icalprop);
}
} catch (e) {
// dump("failed to set " + iprop.name + " to " + iprop.value +
// ": " + e + "\n");

Просмотреть файл

@ -150,9 +150,9 @@ calTodo.prototype = {
},
icsEventPropMap: [
{ cal: "mEntryDate", ics: "startTime" },
{ cal: "mDueDate", ics: "dueTime" },
{ cal: "mCompletedDate", ics: "completedTime" }],
{ cal: "DTSTART", ics: "startTime" },
{ cal: "DUE", ics: "dueTime" },
{ cal: "COMPLETED", ics: "completedTime" }],
set icalString(value) {
this.icalComponent = icalFromString(value);
@ -186,9 +186,11 @@ calTodo.prototype = {
var iprop = bagenum.getNext().
QueryInterface(Components.interfaces.nsIProperty);
try {
var icalprop = icssvc.createIcalProperty(iprop.name);
icalprop.stringValue = iprop.value;
icalcomp.addProperty(icalprop);
if (!this.eventPromotedProps[iprop.name]) {
var icalprop = icssvc.createIcalProperty(iprop.name);
icalprop.stringValue = iprop.value;
icalcomp.addProperty(icalprop);
}
} catch (e) {
// dump("failed to set " + iprop.name + " to " + iprop.value +
// ": " + e + "\n");
@ -225,8 +227,8 @@ calTodo.prototype = {
var makeMemberAttr;
if (makeMemberAttr) {
makeMemberAttr(calTodo, "mEntryDate", null, "entryDate");
makeMemberAttr(calTodo, "mDueDate", null, "dueDate");
makeMemberAttr(calTodo, "mCompletedDate", null, "completedDate");
makeMemberAttr(calTodo, "DTSTART", null, "entryDate", true);
makeMemberAttr(calTodo, "DUE", null, "dueDate", true);
makeMemberAttr(calTodo, "COMPLETED", null, "completedDate", true);
makeMemberAttr(calTodo, "mPercentComplete", 0, "percentComplete");
}