hrev45418 adds 1 changeset to branch 'master' old head: 2c74d7a458adf9503e89192156b0f7685825c64c new head: 5a6b854033916abf2f924f11d6ce8d52c14153bd overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=5a6b854+%5E2c74d7a ---------------------------------------------------------------------------- 5a6b854: Add Cc: text field to mails shown when it's not empty. Patch by Sean Healy 'jalopeura'. Fixes #2446. [ Matt Madia <mattmadia@xxxxxxxxx> ] ---------------------------------------------------------------------------- Revision: hrev45418 Commit: 5a6b854033916abf2f924f11d6ce8d52c14153bd URL: http://cgit.haiku-os.org/haiku/commit/?id=5a6b854 Author: Matt Madia <mattmadia@xxxxxxxxx> Date: Wed Mar 27 22:32:33 2013 UTC Ticket: https://dev.haiku-os.org/ticket/2446 ---------------------------------------------------------------------------- 1 file changed, 39 insertions(+), 1 deletion(-) src/apps/mail/Header.cpp | 40 +++++++++++++++++++++++++++++++++++++++- ---------------------------------------------------------------------------- diff --git a/src/apps/mail/Header.cpp b/src/apps/mail/Header.cpp index b386d1b..60530c8 100644 --- a/src/apps/mail/Header.cpp +++ b/src/apps/mail/Header.cpp @@ -391,6 +391,19 @@ THeaderView::THeaderView(BRect rect, BRect windowRect, bool incoming, } y += controlHeight; } + + if (fIncoming) { + --y; + r.Set(SEPARATOR_MARGIN, y, + windowRect.Width() - SEPARATOR_MARGIN, y + menuFieldHeight); + y += controlHeight; + fCc = new TTextControl(r, B_TRANSLATE("Cc:"), + NULL, fIncoming, false, B_FOLLOW_LEFT_RIGHT); + fCc->SetEnabled(false); + fCc->SetDivider(x - 12 - SEPARATOR_MARGIN); + fCc->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT); + AddChild(fCc); + } --y; r.Set(SEPARATOR_MARGIN, y, @@ -723,8 +736,10 @@ THeaderView::LoadMessage(BEmailMessage *mail) if (fBcc != NULL) fBcc->SetEnabled(false); - if (fCc != NULL) + if (fCc != NULL) { fCc->SetEnabled(false); + fCc->SetText(mail->CC()); + } if (fAccount != NULL) fAccount->SetEnabled(false); @@ -734,6 +749,29 @@ THeaderView::LoadMessage(BEmailMessage *mail) fSubject->SetEnabled(false); fTo->SetEnabled(false); + + // show/hide CC field + bool haveText = false; + if (mail->CC() != NULL && strlen(mail->CC()) > 0) { + haveText = true; + } + bool isHidden = fCc->IsHidden(this); // hidden relative to parent + if (haveText && isHidden) { + float diff = fAccountTo->Frame().top - fTo->Frame().top; + fSubject->MoveBy(0, diff); + fDate->MoveBy(0, diff); + fDateLabel->MoveBy(0, diff); + fCc->Show(); + this->ResizeBy(0, diff); + } + else if (!haveText && !isHidden) { + float diff = fAccountTo->Frame().top - fTo->Frame().top; + fSubject->MoveBy(0, - diff); + fDate->MoveBy(0, - diff); + fDateLabel->MoveBy(0, - diff); + fCc->Hide(); + this->ResizeBy(0, - diff); + } } // Set Subject: & From: fields