Ticket #2446: maildiff.txt

File maildiff.txt, 1.7 KB (added by jalopeura, 13 years ago)

Patch

Line 
1Index: haiku/src/apps/mail/Header.cpp
2===================================================================
3--- haiku/src/apps/mail/Header.cpp (revision 41262)
4+++ haiku/src/apps/mail/Header.cpp (working copy)
5@@ -390,6 +390,19 @@
6 }
7 y += controlHeight;
8 }
9+
10+ if (fIncoming) {
11+ --y;
12+ r.Set(SEPARATOR_MARGIN, y,
13+ windowRect.Width() - SEPARATOR_MARGIN, y + menuFieldHeight);
14+ y += controlHeight;
15+ fCc = new TTextControl(r, B_TRANSLATE("Cc:"),
16+ NULL, fIncoming, false, B_FOLLOW_LEFT_RIGHT);
17+ fCc->SetEnabled(false);
18+ fCc->SetDivider(x - 12 - SEPARATOR_MARGIN);
19+ fCc->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT);
20+ AddChild(fCc);
21+ }
22
23 --y;
24 r.Set(SEPARATOR_MARGIN, y,
25@@ -708,8 +721,10 @@
26 if (fBcc != NULL)
27 fBcc->SetEnabled(false);
28
29- if (fCc != NULL)
30+ if (fCc != NULL) {
31 fCc->SetEnabled(false);
32+ fCc->SetText(mail->CC());
33+ }
34
35 if (fAccount != NULL)
36 fAccount->SetEnabled(false);
37@@ -719,6 +734,29 @@
38
39 fSubject->SetEnabled(false);
40 fTo->SetEnabled(false);
41+
42+ // show/hide CC field
43+ bool haveText = false;
44+ if (mail->CC() != NULL && strlen(mail->CC()) > 0) {
45+ haveText = true;
46+ }
47+ bool isHidden = fCc->IsHidden(this); // hidden relative to parent
48+ if (haveText && isHidden) {
49+ float diff = fAccountTo->Frame().top - fTo->Frame().top;
50+ fSubject->MoveBy(0, diff);
51+ fDate->MoveBy(0, diff);
52+ fDateLabel->MoveBy(0, diff);
53+ fCc->Show();
54+ this->ResizeBy(0, diff);
55+ }
56+ else if (!haveText && !isHidden) {
57+ float diff = fAccountTo->Frame().top - fTo->Frame().top;
58+ fSubject->MoveBy(0, - diff);
59+ fDate->MoveBy(0, - diff);
60+ fDateLabel->MoveBy(0, - diff);
61+ fCc->Hide();
62+ this->ResizeBy(0, - diff);
63+ }
64 }
65
66 // Set Subject: & From: fields