+2007-11-01 Wolfgang Sourdeau <wsourdeau@inverse.ca>
+
+ * SoObjects/Appointments/SOGoAppointmentObject.m
+ ([SOGoAppointmentObject -deleteWithBaseSequence:]): an email was
+ sent when modifying an event, when the event was considered
+ relevant. The same thing is now implemented for event deletion.
+
+ * SoObjects/SOGo/AgenorUserDefaults.m ([AgenorUserDefaults
+ -primaryFetchProfile]): make sure that the deserialized "values"
+ is an instance of NSMutableDictionary, otherwise we override it
+ with one.
+
+ * SoObjects/Mailer/SOGoMailObject+Draft.m ([SOGoMailObject
+ -contentForReply]): make use of the SOGoMailReply WO page.
+
+ * SoObjects/Mailer/SOGoMailReply.[hm]: new class module copied
+ from SOGoMailForward to handle mail replies instead. Only three
+ methods remaining: date, from and messageBody. The latter is
+ quoted properly.
+
+ * SoObjects/Mailer/SOGoDraftObject.m ([SOGoDraftObject
+ -fetchMailForForwarding:sourceMail]): fetch attachments for
+ forwarded messages.
+
+ * UI/MailerUI/UIxMailListView.m ([UIxMailListView
+ -hasMessageAttachment]): initialize hasAttachment with "NO" to
+ avoid false positives.
+
+ * OGoContentStore/OCSiCalFieldExtractor.m ([OCSiCalFieldExtractor -extractQuickFieldsFromEvent:_event])
+ ([OCSiCalFieldExtractor -extractQuickFieldsFromTodo:_task]):
+ set title to an empty string where the event/task summary is null.
+
+ * SoObjects/Mailer/SOGoDraftObject.m ([SOGoDraftObject
+ -setHeaders:newHeaders]): make sure there is a message id in the
+ headers dictionary, if not, generate one.
+ ([SOGoDraftObject -fetchMailForEditing:sourceMail]): retrieve the
+ message id from the existing draft.
+ ([SOGoDraftObject -mimeHeaderMapWithHeaders:_headers]): store the
+ message id in the header map.
+
+ * UI/MailerUI/UIxMailFolderActions.m ([UIxMailFolderActions
+ -deleteFolderAction]): no longer prefix the target folder with
+ "folder".
+
+ * UI/MailerUI/UIxMailAccountActions.m ([UIxMailAccountActions
+ -listMailboxesAction]): base the folder type on the folder
+ traversal path.
+
+ * SoObjects/Mailer/SOGoMailFolder.m ([SOGoMailFolder
+ -lookupName:_keyinContext:acquire:_acquire]): compare the full
+ traversal to the potential looked up folder with the special
+ folder names and return an object with the appropriate
+ SOGoMailFolder subclass.
+
+ * SoObjects/Mailer/SOGoMailBaseObject.m ([SOGoMailBaseObject
+ -traversalFromMailAccount]): don't prepend the whole string with
+ "/".
+
+ * SoObjects/Mailer/SOGoMailAccount.m
+ ([-lookupSentFolder:_keyinContext:_ctx])
+ ([-lookupDraftsFolder:_keyinContext:_ctx])
+ ([-lookupTrashFolder:_keyinContext:_ctx])
+ ([-lookupFiltersFolder:_key:_ctx]): removed methods.
+ ([SOGoMailAccount -inboxFolderNameInContext:])
+ ([SOGoMailAccount -draftsFolderNameInContext:_ctx])
+ ([SOGoMailAccount -sentFolderNameInContext:])
+ ([SOGoMailAccount -trashFolderNameInContext:]): no longer prefixes
+ the resulting name with "prefix" since we might return a nested
+ foldername.
+ ([SOGoMailAccount -allFolderPaths]): prefixes all special folder
+ names with "/". Sorts the resulting folder list with
+ localizedCaseInsensitiveCompare: instead of
+ caseInsensitiveCompare:. No longer use the -[lookupXXX] methods
+ that were removed, instead, we choose the appropriate class
+ depending on the folder name. And since we are in SOGoMailAccount,
+ we don't have to compute a traversal path to match the key with
+ the foldernames.
+ ([SOGoMailAccount
+ -folderWithTraversal:traversalandClassName:className]): new method
+ that returns an instance of the specified SOGoMailFolder subclass,
+ based on the traversal path passed as parameter.
+ ([SOGoMailAccount -inboxFolderInContext:_ctx])
+ ([SOGoMailAccount -draftsFolderInContext:_ctx])
+ ([-sentFolderInContext:_ctx])
+ ([SOGoMailAccount -trashFolderInContext:_ctx]): invoke the new
+ -folderWithTraversal:andClassName: method described above.
+
+ * SoObjects/SOGo/AgenorUserDefaults.m ([AgenorUserDefaults
+ -primaryFetchProfile]): make use of -[NSPropertyListSerialization
+ propertyListFromData:mutabilityOption:format:errorDescription:] to
+ deserialize the plist. Removed variant for libFoundation since it
+ should support the above.
+ ([AgenorUserDefaults -generateSQLForInsert])
+ ([AgenorUserDefaults -generateSQLForUpdate]): make use of
+ -[NSPropertyListSerialization
+ dataFromPropertyList:format:errorDescription:] to serialize the
+ plist. Removed variant for libFoundation since it should support
+ the above. Escape the backslashes from the resulting string.
+
2007-10-31 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/Mailer/SOGoMailFolder.[hm]: added a new subclass of