Changes to CTCoreMessage for handling html content -> To get editeble HTML and to set edited HTML as body

This commit is contained in:
Kaustubh Kabra
2012-01-09 11:16:28 +05:30
parent a6dd15fce9
commit 89e09bcdab
3 changed files with 29 additions and 1 deletions
+7
View File
@@ -102,6 +102,11 @@
*/
- (NSString *)htmlBody;
/*!
@abstract This method returns the editable html body as an NSString.
*/
- (NSString *)editableHtmlBody;
/*! @abstract Returns a message body as an NSString. First attempts
to retrieve a plain text body, if that fails then
tries for an HTML body.
@@ -113,6 +118,8 @@
*/
- (void)setBody:(NSString *)body;
- (void) setHTMLBody:(NSString *)body
- (NSArray *)attachments;
- (void)addAttachment:(CTCoreAttachment *)attachment;
+21
View File
@@ -39,6 +39,7 @@
#import "CTMIME_MultiPart.h"
#import "CTMIME_SinglePart.h"
#import "CTBareAttachment.h"
#import "CTMIME_HtmlPart.h"
@interface CTCoreMessage (Private)
- (CTCoreAddress *)_addressFromMailbox:(struct mailimf_mailbox *)mailbox;
@@ -144,6 +145,18 @@ char * etpan_encode_mime_header(char * phrase)
return result;
}
- (NSString *)editableHtmlBody{
//added by KK
NSMutableString *result = [NSMutableString string];
[self _buildUpHtmlBodyText:myParsedMIME result:result];
NSString *str = [NSString stringWithFormat:@"<div id = 'myDiv' contentEditable>"];
str = [str stringByAppendingFormat:@"%@",[NSString stringWithString:result]];
str = [str stringByAppendingString:@"</div>"];
//Used For Getting changed content
str = [str stringByAppendingString:@"<script type = 'text/javascript'> function getHtmlContent() { return document.getElementById('myDiv').innerHTML;}</script>"];
return str;
}
- (NSString *)bodyPreferringPlainText {
NSString *body = [self body];
if ([body length] == 0) {
@@ -222,6 +235,14 @@ char * etpan_encode_mime_header(char * phrase)
}
}
- (void) setHTMLBody:(NSString *)body{
CTMIME *oldMIME = myParsedMIME;
CTMIME_HtmlPart *text = [CTMIME_HtmlPart mimeTextPartWithString:body];
CTMIME_MessagePart *messagePart = [CTMIME_MessagePart mimeMessagePartWithContent:text];
myParsedMIME = [messagePart retain];
[oldMIME release];
}
- (NSArray *)attachments {
NSMutableArray *attachments = [NSMutableArray array];
+1 -1
View File
@@ -68,7 +68,7 @@
struct mailmime_parameter *param;
int r;
/* text/plain part */
/* text/html part */
//TODO this needs to be changed, something other than 8BIT should be used
mime_fields = mailmime_fields_new_encoding(MAILMIME_MECHANISM_8BIT);
assert(mime_fields != NULL);