summaryrefslogtreecommitdiff
path: root/noncore/net/mail/mainwindow.cpp
Unidiff
Diffstat (limited to 'noncore/net/mail/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/mainwindow.cpp34
1 files changed, 20 insertions, 14 deletions
diff --git a/noncore/net/mail/mainwindow.cpp b/noncore/net/mail/mainwindow.cpp
index 7af7d83..b25db97 100644
--- a/noncore/net/mail/mainwindow.cpp
+++ b/noncore/net/mail/mainwindow.cpp
@@ -1,35 +1,37 @@
1#include <qlabel.h> 1#include <qlabel.h>
2#include <qvbox.h> 2#include <qvbox.h>
3#include <qheader.h> 3#include <qheader.h>
4#include <qtimer.h> 4#include <qtimer.h>
5#include <qlayout.h> 5#include <qlayout.h>
6 6
7#include <qpe/qpeapplication.h> 7#include <qpe/qpeapplication.h>
8 8
9#include "defines.h" 9#include "defines.h"
10#include "mainwindow.h" 10#include "mainwindow.h"
11#include "viewmail.h" 11#include "viewmail.h"
12#include "mailtypes.h"
13#include "mailistviewitem.h"
12 14
13MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) 15MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
14 : QMainWindow( parent, name, flags ) 16 : QMainWindow( parent, name, flags )
15{ 17{
16 setCaption( tr( "Opie-Mail" ) ); 18 setCaption( tr( "Opie-Mail" ) );
17 setToolBarsMovable( false ); 19 setToolBarsMovable( false );
18 20
19 toolBar = new QToolBar( this ); 21 toolBar = new QToolBar( this );
20 menuBar = new QMenuBar( toolBar ); 22 menuBar = new QMenuBar( toolBar );
21 mailMenu = new QPopupMenu( menuBar ); 23 mailMenu = new QPopupMenu( menuBar );
22 menuBar->insertItem( tr( "Mail" ), mailMenu ); 24 menuBar->insertItem( tr( "Mail" ), mailMenu );
23 settingsMenu = new QPopupMenu( menuBar ); 25 settingsMenu = new QPopupMenu( menuBar );
24 menuBar->insertItem( tr( "Settings" ), settingsMenu ); 26 menuBar->insertItem( tr( "Settings" ), settingsMenu );
25 27
26 addToolBar( toolBar ); 28 addToolBar( toolBar );
27 toolBar->setHorizontalStretchable( true ); 29 toolBar->setHorizontalStretchable( true );
28 30
29 QLabel *spacer = new QLabel( toolBar ); 31 QLabel *spacer = new QLabel( toolBar );
30 spacer->setBackgroundMode( QWidget::PaletteButton ); 32 spacer->setBackgroundMode( QWidget::PaletteButton );
31 toolBar->setStretchableWidget( spacer ); 33 toolBar->setStretchableWidget( spacer );
32 34
33 composeMail = new QAction( tr( "Compose new mail" ), ICON_COMPOSEMAIL, 35 composeMail = new QAction( tr( "Compose new mail" ), ICON_COMPOSEMAIL,
34 0, 0, this ); 36 0, 0, this );
35 composeMail->addTo( toolBar ); 37 composeMail->addTo( toolBar );
@@ -79,93 +81,97 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
79 layout = new QHBoxLayout( view ); 81 layout = new QHBoxLayout( view );
80 } 82 }
81 83
82 folderView = new AccountView( view ); 84 folderView = new AccountView( view );
83 folderView->header()->hide(); 85 folderView->header()->hide();
84 folderView->addColumn( tr( "Mailbox" ) ); 86 folderView->addColumn( tr( "Mailbox" ) );
85 folderView->hide(); 87 folderView->hide();
86 88
87 layout->addWidget( folderView ); 89 layout->addWidget( folderView );
88 90
89 mailView = new QListView( view ); 91 mailView = new QListView( view );
90 mailView->addColumn( tr( "Subject" ),QListView::Manual ); 92 mailView->addColumn( tr( "Subject" ),QListView::Manual );
91 mailView->addColumn( tr( "Sender" ),QListView::Manual ); 93 mailView->addColumn( tr( "Sender" ),QListView::Manual );
92 mailView->addColumn( tr( "Date" )); 94 mailView->addColumn( tr( "Date" ));
93 mailView->setAllColumnsShowFocus(true); 95 mailView->setAllColumnsShowFocus(true);
94 mailView->setSorting(-1); 96 mailView->setSorting(-1);
95 97
96 layout->addWidget( mailView ); 98 layout->addWidget( mailView );
97 layout->setStretchFactor( folderView, 1 ); 99 layout->setStretchFactor( folderView, 1 );
98 layout->setStretchFactor( mailView, 2 ); 100 layout->setStretchFactor( mailView, 2 );
99 101
100 connect( mailView, SIGNAL( clicked( QListViewItem * ) ),this, 102 connect( mailView, SIGNAL( clicked( QListViewItem * ) ),this,
101 SLOT( displayMail( QListViewItem * ) ) ); 103 SLOT( displayMail( QListViewItem * ) ) );
102 104
103 connect(folderView,SIGNAL(refreshMailview(Maillist*)),this,SLOT(refreshMailView(Maillist*))); 105 connect(folderView,SIGNAL(refreshMailview(QList<RecMail>*)),this,SLOT(refreshMailView(QList<RecMail>*)));
104 106
105 QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); 107 QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) );
106} 108}
107 109
108void MainWindow::slotAdjustColumns() 110void MainWindow::slotAdjustColumns()
109{ 111{
110 bool hidden = folderView->isHidden(); 112 bool hidden = folderView->isHidden();
111 if ( hidden ) folderView->show(); 113 if ( hidden ) folderView->show();
112 folderView->setColumnWidth( 0, folderView->visibleWidth() ); 114 folderView->setColumnWidth( 0, folderView->visibleWidth() );
113 if ( hidden ) folderView->hide(); 115 if ( hidden ) folderView->hide();
114 116
115 mailView->setColumnWidth( 0, mailView->visibleWidth() - 130 ); 117 mailView->setColumnWidth( 0, mailView->visibleWidth() - 130 );
116 mailView->setColumnWidth( 1, 80 ); 118 mailView->setColumnWidth( 1, 80 );
117 mailView->setColumnWidth( 2, 50 ); 119 mailView->setColumnWidth( 2, 50 );
118} 120}
119 121
120void MainWindow::slotShowFolders( bool show ) 122void MainWindow::slotShowFolders( bool show )
121{ 123{
122 qDebug( "Show Folders" ); 124 qDebug( "Show Folders" );
123 if ( show && folderView->isHidden() ) { 125 if ( show && folderView->isHidden() ) {
124 qDebug( "-> showing" ); 126 qDebug( "-> showing" );
125 folderView->show(); 127 folderView->show();
126 } else if ( !show && !folderView->isHidden() ) { 128 } else if ( !show && !folderView->isHidden() ) {
127 qDebug( "-> hiding" ); 129 qDebug( "-> hiding" );
128 folderView->hide(); 130 folderView->hide();
129 } 131 }
130} 132}
131 133
132void MainWindow::refreshMailView(Maillist*list) 134void MainWindow::refreshMailView(QList<RecMail>*list)
133{ 135{
134 MailListViewItem*item = 0; 136 MailListViewItem*item = 0;
135 mailView->clear(); 137 mailView->clear();
136#if 0
137 QFont f = mailView->getFont();
138 QFont bf = f;
139#endif
140 for (unsigned int i = 0; i < list->count();++i) { 138 for (unsigned int i = 0; i < list->count();++i) {
141 item = new MailListViewItem(mailView,item); 139 item = new MailListViewItem(mailView,item);
142 item->storeData(*(list->at(i))); 140 item->storeData(*(list->at(i)));
143 item->showEntry(); 141 item->showEntry();
144#if 0
145 if (!list->at(i)->getFlags().testBit(FLAG_SEEN)) {
146 item->setFont(bf);
147 }
148#endif
149 } 142 }
150} 143}
151void MainWindow::displayMail(QListViewItem*item) 144void MainWindow::displayMail(QListViewItem*item)
152{ 145{
153 if (!item) return; 146 if (!item) return;
154 qDebug("View mail"); 147 qDebug("View mail");
155 RecMail mail = ((MailListViewItem*)item)->data(); 148 RecMail mail = ((MailListViewItem*)item)->data();
156 QString body = folderView->fetchBody(mail); 149 RecBody body = folderView->fetchBody(mail);
157 150
158 ViewMail readMail( this ); 151 ViewMail readMail( this );
159 readMail.setMailInfo( mail.getFrom(), "", mail.getSubject(), "", "", body ); 152 readMail.setMailInfo( mail.getFrom(), "", mail.getSubject(), "", "", body.Bodytext() );
160 readMail.showMaximized(); 153 readMail.showMaximized();
161 readMail.exec(); 154 readMail.exec();
155}
162 156
163 qDebug(body ); 157MailListViewItem::MailListViewItem(QListView * parent, MailListViewItem * after )
158 :QListViewItem(parent,after),mail_data()
159{
164} 160}
165 161
166void MailListViewItem::showEntry() 162void MailListViewItem::showEntry()
167{ 163{
168 setText(0,mail_data.getSubject()); 164 setText(0,mail_data.getSubject());
169 setText(1,mail_data.getFrom()); 165 setText(1,mail_data.getFrom());
170 setText(2,mail_data.getDate()); 166 setText(2,mail_data.getDate());
171} 167}
168
169void MailListViewItem::storeData(const RecMail&data)
170{
171 mail_data = data;
172}
173
174const RecMail& MailListViewItem::data()const
175{
176 return mail_data;
177}