Diffstat (limited to 'noncore/net/mail/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/mainwindow.cpp | 34 |
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 | ||
13 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | 15 | MainWindow::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 | ||
108 | void MainWindow::slotAdjustColumns() | 110 | void 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 | ||
120 | void MainWindow::slotShowFolders( bool show ) | 122 | void 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 | ||
132 | void MainWindow::refreshMailView(Maillist*list) | 134 | void 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 | } |
151 | void MainWindow::displayMail(QListViewItem*item) | 144 | void 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 ); | 157 | MailListViewItem::MailListViewItem(QListView * parent, MailListViewItem * after ) |
158 | :QListViewItem(parent,after),mail_data() | ||
159 | { | ||
164 | } | 160 | } |
165 | 161 | ||
166 | void MailListViewItem::showEntry() | 162 | void 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 | |||
169 | void MailListViewItem::storeData(const RecMail&data) | ||
170 | { | ||
171 | mail_data = data; | ||
172 | } | ||
173 | |||
174 | const RecMail& MailListViewItem::data()const | ||
175 | { | ||
176 | return mail_data; | ||
177 | } | ||