summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/mainwindow.cpp28
-rw-r--r--noncore/net/mail/mainwindow.h3
-rw-r--r--noncore/net/mail/viewmail.cpp39
-rw-r--r--noncore/net/mail/viewmail.h12
4 files changed, 58 insertions, 24 deletions
diff --git a/noncore/net/mail/mainwindow.cpp b/noncore/net/mail/mainwindow.cpp
index b25db97..f19f93d 100644
--- a/noncore/net/mail/mainwindow.cpp
+++ b/noncore/net/mail/mainwindow.cpp
@@ -70,17 +70,9 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
70 70
71 QWidget *view = new QWidget( this ); 71 QWidget *view = new QWidget( this );
72 setCentralWidget( view ); 72 setCentralWidget( view );
73 73
74 74 layout = new QBoxLayout ( view, QBoxLayout::LeftToRight );
75 QWidget *d = QApplication::desktop();
76 QBoxLayout *layout;
77
78 if ( d->width() < d->height() ) {
79 layout = new QVBoxLayout( view );
80 } else {
81 layout = new QHBoxLayout( view );
82 }
83 75
84 folderView = new AccountView( view ); 76 folderView = new AccountView( view );
85 folderView->header()->hide(); 77 folderView->header()->hide();
86 folderView->addColumn( tr( "Mailbox" ) ); 78 folderView->addColumn( tr( "Mailbox" ) );
@@ -98,16 +90,31 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
98 layout->addWidget( mailView ); 90 layout->addWidget( mailView );
99 layout->setStretchFactor( folderView, 1 ); 91 layout->setStretchFactor( folderView, 1 );
100 layout->setStretchFactor( mailView, 2 ); 92 layout->setStretchFactor( mailView, 2 );
101 93
94 slotAdjustLayout();
95
102 connect( mailView, SIGNAL( clicked( QListViewItem * ) ),this, 96 connect( mailView, SIGNAL( clicked( QListViewItem * ) ),this,
103 SLOT( displayMail( QListViewItem * ) ) ); 97 SLOT( displayMail( QListViewItem * ) ) );
104 98
105 connect(folderView,SIGNAL(refreshMailview(QList<RecMail>*)),this,SLOT(refreshMailView(QList<RecMail>*))); 99 connect(folderView,SIGNAL(refreshMailview(QList<RecMail>*)),this,SLOT(refreshMailView(QList<RecMail>*)));
106 100
107 QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); 101 QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) );
108} 102}
109 103
104
105void MainWindow::slotAdjustLayout() {
106
107 QWidget *d = QApplication::desktop();
108
109 if ( d->width() < d->height() ) {
110 layout->setDirection( QBoxLayout::TopToBottom );
111 } else {
112 layout->setDirection( QBoxLayout::LeftToRight );
113 }
114 delete d;
115}
116
110void MainWindow::slotAdjustColumns() 117void MainWindow::slotAdjustColumns()
111{ 118{
112 bool hidden = folderView->isHidden(); 119 bool hidden = folderView->isHidden();
113 if ( hidden ) folderView->show(); 120 if ( hidden ) folderView->show();
@@ -148,9 +155,10 @@ void MainWindow::displayMail(QListViewItem*item)
148 RecMail mail = ((MailListViewItem*)item)->data(); 155 RecMail mail = ((MailListViewItem*)item)->data();
149 RecBody body = folderView->fetchBody(mail); 156 RecBody body = folderView->fetchBody(mail);
150 157
151 ViewMail readMail( this ); 158 ViewMail readMail( this );
152 readMail.setMailInfo( mail.getFrom(), "", mail.getSubject(), "", "", body.Bodytext() ); 159
160 readMail.setMailInfo( mail.getFrom(), mail.To(), mail.getSubject(), mail.CC(), mail.Bcc(), mail.getDate(), body.Bodytext() );
153 readMail.showMaximized(); 161 readMail.showMaximized();
154 readMail.exec(); 162 readMail.exec();
155} 163}
156 164
diff --git a/noncore/net/mail/mainwindow.h b/noncore/net/mail/mainwindow.h
index 6c87261..6c1cda0 100644
--- a/noncore/net/mail/mainwindow.h
+++ b/noncore/net/mail/mainwindow.h
@@ -25,8 +25,9 @@ public slots:
25protected slots: 25protected slots:
26 virtual void slotShowFolders( bool show ); 26 virtual void slotShowFolders( bool show );
27 virtual void refreshMailView(QList<RecMail>*); 27 virtual void refreshMailView(QList<RecMail>*);
28 virtual void displayMail(QListViewItem*); 28 virtual void displayMail(QListViewItem*);
29 void slotAdjustLayout();
29 30
30protected: 31protected:
31 QToolBar *toolBar; 32 QToolBar *toolBar;
32 QMenuBar *menuBar; 33 QMenuBar *menuBar;
@@ -34,8 +35,8 @@ protected:
34 QAction *composeMail, *sendQueued, *showFolders, *searchMails, 35 QAction *composeMail, *sendQueued, *showFolders, *searchMails,
35 *editSettings, *editAccounts, *syncFolders; 36 *editSettings, *editAccounts, *syncFolders;
36 AccountView *folderView; 37 AccountView *folderView;
37 QListView *mailView; 38 QListView *mailView;
38 39 QBoxLayout *layout;
39}; 40};
40 41
41#endif 42#endif
diff --git a/noncore/net/mail/viewmail.cpp b/noncore/net/mail/viewmail.cpp
index b648b34..cba9948 100644
--- a/noncore/net/mail/viewmail.cpp
+++ b/noncore/net/mail/viewmail.cpp
@@ -22,16 +22,17 @@ AttachItem::AttachItem(QListViewItem *parent, AttachItemStore &attachItemStore)
22 setText(1, _attachItemStore.fileName()); 22 setText(1, _attachItemStore.fileName());
23 setText(2, _attachItemStore.description()); 23 setText(2, _attachItemStore.description());
24} 24}
25 25
26void ViewMail::setMailInfo( const QString & from, const QString & to, const QString & subject, const QString & cc, const QString & bcc, const QString & bodytext ) { 26void ViewMail::setMailInfo( const QString & from, const QStringList & to, const QString & subject, const QStringList & cc, const QStringList & bcc, const QString & date, const QString & bodytext ) {
27 27
28m_mail[0] = from; 28m_mail[0] = from;
29m_mail[1] = to; 29m_mail2[0] = to;
30m_mail[2] = subject; 30m_mail[1] = subject;
31m_mail[3] = cc; 31m_mail2[1] = cc;
32m_mail[4] = bcc; 32m_mail2[2] = bcc;
33m_mail[5] = bodytext; 33m_mail[2] = bodytext;
34m_mail[3] = date;
34 35
35setText(); 36setText();
36 37
37} 38}
@@ -53,8 +54,22 @@ ViewMail::ViewMail( QWidget *parent, const char *name, WFlags fl)
53 54
54void ViewMail::setText() 55void ViewMail::setText()
55{ 56{
56 57
58 QString toString;
59 QString ccString;
60 QString bccString;
61
62 for ( QStringList::Iterator it = ( m_mail2[0] ).begin(); it != ( m_mail2[0] ).end(); ++it ) {
63 toString += (*it);
64 }
65 for ( QStringList::Iterator it = ( m_mail2[1] ).begin(); it != ( m_mail2[1] ).end(); ++it ) {
66 ccString += (*it);
67 }
68 for ( QStringList::Iterator it = ( m_mail2[2] ).begin(); it != ( m_mail2[2] ).end(); ++it ) {
69 bccString += (*it);
70 }
71
57 setCaption( caption().arg( m_mail[0] ) ); 72 setCaption( caption().arg( m_mail[0] ) );
58 73
59 _mailHtml = tr( 74 _mailHtml = tr(
60 "<html><body>" 75 "<html><body>"
@@ -64,16 +79,16 @@ void ViewMail::setText()
64 "%4" 79 "%4"
65 "%5" 80 "%5"
66 "<b>Date:</b> %6<hr>" 81 "<b>Date:</b> %6<hr>"
67 "<font face=fixed>%7</font>") 82 "<font face=fixed>%7</font>")
68 .arg( deHtml( m_mail[2] ) )
69 .arg( deHtml( m_mail[0] ) )
70 .arg( deHtml( m_mail[1] ) ) 83 .arg( deHtml( m_mail[1] ) )
71 .arg( tr("<b>Cc:</b> %1<br>").arg( deHtml( m_mail[3] ) ) ) 84 .arg( deHtml( m_mail[0] ) )
72 .arg( tr("<b>Bcc:</b> %1<br>").arg( deHtml( m_mail[4] ) ) ) 85 .arg( deHtml( toString ) )
73 .arg( tr("(no date)" ) ) 86 .arg( tr("<b>Cc:</b> %1<br>").arg( deHtml( ccString ) ) )
87 .arg( tr("<b>Bcc:</b> %1<br>").arg( deHtml( bccString ) ) )
88 .arg( m_mail[3] )
74 .arg("%1"); 89 .arg("%1");
75 browser->setText( QString(_mailHtml) + deHtml( m_mail[5] ) ); 90 browser->setText( QString(_mailHtml) + deHtml( m_mail[2] ) );
76} 91}
77 92
78 93
79 94
diff --git a/noncore/net/mail/viewmail.h b/noncore/net/mail/viewmail.h
index 9d3c6e4..615939a 100644
--- a/noncore/net/mail/viewmail.h
+++ b/noncore/net/mail/viewmail.h
@@ -2,8 +2,9 @@
2#define VIEWMAIL_H 2#define VIEWMAIL_H
3 3
4#include <qlistview.h> 4#include <qlistview.h>
5#include <qmap.h> 5#include <qmap.h>
6#include <qstringlist.h>
6 7
7#include "viewmailbase.h" 8#include "viewmailbase.h"
8//#include "imapresponse.h" 9//#include "imapresponse.h"
9//#include "mailtable.h" 10//#include "mailtable.h"
@@ -48,9 +49,9 @@ public:
48 49
49 void hide(); 50 void hide();
50 void exec(); 51 void exec();
51 static QString appName() { return QString::fromLatin1("mail"); } 52 static QString appName() { return QString::fromLatin1("mail"); }
52 void setMailInfo( const QString & from, const QString & to, const QString & subject, const QString & cc, const QString & bcc, const QString & bodytext ); 53 void setMailInfo( const QString & from, const QStringList & to, const QString & subject, const QStringList & cc, const QStringList & bcc,const QString & date, const QString & bodytext );
53 54
54protected: 55protected:
55 //void fillList(IMAPResponseBODYSTRUCTURE &structure); 56 //void fillList(IMAPResponseBODYSTRUCTURE &structure);
56 QString deHtml(const QString &string); 57 QString deHtml(const QString &string);
@@ -67,9 +68,18 @@ private:
67 //IMAPResponseFETCH _mail; 68 //IMAPResponseFETCH _mail;
68 //IMAPHandler *_handler; 69 //IMAPHandler *_handler;
69 QString _mailHtml; 70 QString _mailHtml;
70 bool _gotBody; 71 bool _gotBody;
72
73 // 0 from
74 // 1 subject
75 // 2 bodytext
76 // 3 date
71 QMap <int,QString> m_mail; 77 QMap <int,QString> m_mail;
78 // 0 to
79 // 1 cc
80 // 2 bcc
81 QMap <int,QStringList> m_mail2;
72 82
73}; 83};
74 84
75#endif 85#endif