]> code.citadel.org Git - citadel.git/blobdiff - webcit/msg_renderers.c
* Use new MSet-Matcher to retrieve seen state (10% of what we do in big mboxes)
[citadel.git] / webcit / msg_renderers.c
index 2d1e63f609d01cd7b4615495155c3fe68b7631e9..a7c819ba026a0a70a65e8df7d2bc0725ec187140 100644 (file)
@@ -310,7 +310,7 @@ void tmplput_MAIL_SUMM_INREPLYTO(StrBuf *Target, WCTemplputParams *TP)
 int Conditional_MAIL_SUMM_UNREAD(StrBuf *Target, WCTemplputParams *TP)
 {
        message_summary *Msg = (message_summary*) CTX;
-       return Msg->is_new != 0;
+       return (Msg->Flags & MSGFLAG_READ) != 0;
 }
 
 void examine_wefw(message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset)
@@ -650,7 +650,7 @@ void evaluate_mime_part(message_summary *Msg, wc_mime_attachment *Mime)
        void *vMimeRenderer;
 
        /* just print the root-node */
-       if ((Mime->level == 1) &&
+       if ((Mime->level >= 1) &&
            GetHash(MimeRenderHandler, SKEY(Mime->ContentType), &vMimeRenderer) &&
            vMimeRenderer != NULL)
        {
@@ -659,14 +659,14 @@ void evaluate_mime_part(message_summary *Msg, wc_mime_attachment *Mime)
                        Msg->Submessages = NewHash(1,NULL);
                Put(Msg->Submessages, SKEY(Mime->PartNum), Mime, reference_free_handler);
        }
-       else if ((Mime->level == 1) &&
+       else if ((Mime->level >= 1) &&
                 (!strcasecmp(ChrPtr(Mime->Disposition), "inline"))
                 && (!strncasecmp(ChrPtr(Mime->ContentType), "image/", 6)) ){
                if (Msg->AttachLinks == NULL)
                        Msg->AttachLinks = NewHash(1,NULL);
                Put(Msg->AttachLinks, SKEY(Mime->PartNum), Mime, reference_free_handler);
        }
-       else if ((Mime->level == 1) &&
+       else if ((Mime->level >= 1) &&
                 (StrLength(Mime->ContentType) > 0) &&
                  ( (!strcasecmp(ChrPtr(Mime->Disposition), "attachment")) 
                    || (!strcasecmp(ChrPtr(Mime->Disposition), "inline"))
@@ -1242,18 +1242,8 @@ int ParseMessageListHeaders_Detail(StrBuf *Line,
                StrBufAppendBufPlain(Msg->subj, _("(no subject)"), -1,0);
        else {
                StrBuf_RFC822_to_Utf8(Msg->subj, ConversionBuffer, WCC->DefaultCharset, NULL);
-               if ((StrLength(Msg->subj) > 75) && 
-                   (StrBuf_Utf8StrLen(Msg->subj) > 75)) {
-                       StrBuf_Utf8StrCut(Msg->subj, 72);
-                       StrBufAppendBufPlain(Msg->subj, HKEY("..."), 0);
-               }
        }
 
-       if ((StrLength(Msg->from) > 25) && 
-           (StrBuf_Utf8StrLen(Msg->from) > 25)) {
-               StrBuf_Utf8StrCut(Msg->from, 23);
-               StrBufAppendBufPlain(Msg->from, HKEY("..."), 0);
-       }
        return 1;
 }
 
@@ -1416,7 +1406,7 @@ InitModule_MSGRENDERERS
                         NULL, NULL, CTX_MIME_ATACH, CTX_NONE, IT_NOFLAG);
 
        /* mime renderers translate an attachment into webcit viewable html text */
-       RegisterMimeRenderer(HKEY("message/rfc822"), render_MAIL, 1, 150);
+       RegisterMimeRenderer(HKEY("message/rfc822"), render_MAIL, 0, 150);
        RegisterMimeRenderer(HKEY("text/vnote"), render_MIME_VNote, 1, 300);
        RegisterMimeRenderer(HKEY("text/x-vcard"), render_MIME_VCard, 1, 201);
        RegisterMimeRenderer(HKEY("text/vcard"), render_MIME_VCard, 1, 200);