Add Cc: text field to mails shown when it's not empty.
Patch by Sean Healy 'jalopeura'. Fixes #2446.
This commit is contained in:
@@ -391,6 +391,19 @@ THeaderView::THeaderView(BRect rect, BRect windowRect, bool incoming,
|
|||||||
}
|
}
|
||||||
y += controlHeight;
|
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;
|
--y;
|
||||||
r.Set(SEPARATOR_MARGIN, y,
|
r.Set(SEPARATOR_MARGIN, y,
|
||||||
@@ -723,8 +736,10 @@ THeaderView::LoadMessage(BEmailMessage *mail)
|
|||||||
if (fBcc != NULL)
|
if (fBcc != NULL)
|
||||||
fBcc->SetEnabled(false);
|
fBcc->SetEnabled(false);
|
||||||
|
|
||||||
if (fCc != NULL)
|
if (fCc != NULL) {
|
||||||
fCc->SetEnabled(false);
|
fCc->SetEnabled(false);
|
||||||
|
fCc->SetText(mail->CC());
|
||||||
|
}
|
||||||
|
|
||||||
if (fAccount != NULL)
|
if (fAccount != NULL)
|
||||||
fAccount->SetEnabled(false);
|
fAccount->SetEnabled(false);
|
||||||
@@ -734,6 +749,29 @@ THeaderView::LoadMessage(BEmailMessage *mail)
|
|||||||
|
|
||||||
fSubject->SetEnabled(false);
|
fSubject->SetEnabled(false);
|
||||||
fTo->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
|
// Set Subject: & From: fields
|
||||||
|
|||||||
Reference in New Issue
Block a user