[haiku-commits] haiku: hrev45418 - src/apps/mail

  • From: mattmadia@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 27 Mar 2013 23:34:25 +0100 (CET)

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


Other related posts:

  • » [haiku-commits] haiku: hrev45418 - src/apps/mail - mattmadia