From 88de455b9a1e89a9d41f55cc4e1a32beacf03a78 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Wilfried=20G=C3=B6esgens?= Date: Sat, 25 Apr 2009 14:09:27 +0000 Subject: [PATCH] * remove old notes rendering code, its not used anymore. * add mail attachment inline renderer for notes * add first draft template stripped down from the original notes thing, needs some more love. --- webcit/msg_renderers.c | 30 +++++++ webcit/notes.c | 119 ---------------------------- webcit/static/t/mail_vnoteitem.html | 29 +++++++ 3 files changed, 59 insertions(+), 119 deletions(-) create mode 100644 webcit/static/t/mail_vnoteitem.html diff --git a/webcit/msg_renderers.c b/webcit/msg_renderers.c index 356fdceb2..84d983186 100644 --- a/webcit/msg_renderers.c +++ b/webcit/msg_renderers.c @@ -502,6 +502,35 @@ void render_MIME_VCard(wc_mime_attachment *Mime, StrBuf *RawData, StrBuf *FoundC } +void render_MIME_VNote(wc_mime_attachment *Mime, StrBuf *RawData, StrBuf *FoundCharset) +{ + MimeLoadData(Mime); + if (StrLength(Mime->Data) > 0) { + struct vnote *v; + StrBuf *Buf; + + Buf = NewStrBuf(); + v = vnote_new_from_str(ChrPtr(Mime->Data)); + if (v) { + WCTemplputParams TP; + + memset(&TP, 0, sizeof(WCTemplputParams)); + TP.Filter.ContextType = CTX_VNOTE; + TP.Context = v; + DoTemplate(HKEY("mail_vnoteitem"), + Buf, &TP); + + vnote_free(v); + + FreeStrBuf(&Mime->Data); + Mime->Data = Buf; + } + else + FlushStrBuf(Mime->Data); + } + +} + void render_MIME_ICS(wc_mime_attachment *Mime, StrBuf *RawData, StrBuf *FoundCharset) { if (StrLength(Mime->Data) == 0) { @@ -1179,6 +1208,7 @@ InitModule_MSGRENDERERS /* mime renderers translate an attachment into webcit viewable html text */ RegisterMimeRenderer(HKEY("message/rfc822"), render_MAIL); + RegisterMimeRenderer(HKEY("text/vnote"), render_MIME_VNote); RegisterMimeRenderer(HKEY("text/x-vcard"), render_MIME_VCard); RegisterMimeRenderer(HKEY("text/vcard"), render_MIME_VCard); RegisterMimeRenderer(HKEY("text/calendar"), render_MIME_ICS); diff --git a/webcit/notes.c b/webcit/notes.c index a4e570645..bc5d78952 100644 --- a/webcit/notes.c +++ b/webcit/notes.c @@ -20,124 +20,6 @@ int pastel_palette[9][3] = { }; -/* - * Display a
containing a rendered sticky note. - */ -void display_vnote_div(struct vnote *v) { - int i; - - - wprintf("
uid); /* begin outer div */ - wprintf("class=\"stickynote_outer\" "); - wprintf("style=\""); - wprintf("left: %dpx; ", v->pos_left); - wprintf("top: %dpx; ", v->pos_top); - wprintf("width: %dpx; ", v->pos_width); - wprintf("height: %dpx; ", v->pos_height); - wprintf("background-color: #%02X%02X%02X ", v->color_red, v->color_green, v->color_blue); - wprintf("\">"); - - - - - - wprintf("
uid); /* begin title bar div */ - wprintf("class=\"stickynote_titlebar\" "); - wprintf("onMouseDown=\"NotesDragMouseDown(event,'%s')\" ", v->uid); - wprintf("style=\""); - wprintf("background-color: #%02X%02X%02X ", v->color_red/2, v->color_green/2, v->color_blue/2); - wprintf("\">"); - - wprintf(""); - - wprintf(""); - - wprintf(""); // nothing in the title bar, it's just for dragging - - wprintf("
"); - wprintf("uid); - wprintf("src=\"static/8paint16.gif\">"); - - wprintf(""); - wprintf("uid, _("Delete this note?") ); - wprintf("src=\"static/closewindow.gif\">"); - wprintf("
"); - - wprintf("
\n"); // end title bar div - - - - - - wprintf("
uid); // begin body div - wprintf("class=\"stickynote_body\""); - wprintf(">"); - escputs(v->body); - wprintf("
\n"); // end body div - - StrBufAppendPrintf(WC->trailing_javascript, - " new Ajax.InPlaceEditor('notebody-%s', 'ajax_update_note?note_uid=%s', " - "{rows:%d,cols:%d,onEnterHover:false,onLeaveHover:false," - "okText:'%s',cancelText:'%s',clickToEditText:'%s'});", - v->uid, - v->uid, - (v->pos_height / 16) - 5, - (v->pos_width / 9) - 1, - _("Save"), - _("Cancel"), - _("Click on any note to edit it.") - ); - - wprintf("
uid); // begin resize handle div - wprintf("class=\"stickynote_resize\" "); - wprintf("onMouseDown=\"NotesResizeMouseDown(event,'%s')\"", v->uid); - wprintf(">
"); // end resize handle div - - - - - /* embed color selector - it doesn't have to be inside the title bar html because - * it's a separate div placed by css - */ - wprintf("
uid); // begin stickynote_palette div - wprintf("class=\"stickynote_palette\">"); - - wprintf(""); - for (i=0; i<9; ++i) { - if ((i%3)==0) wprintf(""); - wprintf("", - pastel_palette[i][0], - pastel_palette[i][1], - pastel_palette[i][2] - ); - if (((i+1)%3)==0) wprintf(""); - } - wprintf("
uid, - pastel_palette[i][0], // color values to pass to ajax call - pastel_palette[i][1], - pastel_palette[i][2], - pastel_palette[i][0], // new color of note - pastel_palette[i][1], - pastel_palette[i][2], - pastel_palette[i][0] / 2, // new color of title bar - pastel_palette[i][1] / 2, - pastel_palette[i][2] / 2 - ); - wprintf("bgcolor=\"#%02x%02x%02x\">
"); - - wprintf("
"); // end stickynote_palette div - - - - - - wprintf("
\n"); // end outer div -} - - - /* * Fetch a message from the server and extract a vNote from it */ @@ -404,7 +286,6 @@ void display_note(message_summary *Msg, int unread) { TP.Filter.ContextType = CTX_VNOTE; v = vnote_new_from_msg(Msg->msgnum, unread); if (v) { -// display_vnote_div(v); TP.Context = v; DoTemplate(HKEY("vnoteitem"), WC->WBuf, &TP); diff --git a/webcit/static/t/mail_vnoteitem.html b/webcit/static/t/mail_vnoteitem.html new file mode 100644 index 000000000..47968b980 --- /dev/null +++ b/webcit/static/t/mail_vnoteitem.html @@ -0,0 +1,29 @@ + +
+ + + +
+ +
+
+ +
+ +
+ +
+ +
+ +
+
+ + + -- 2.30.2