-rw-r--r-- | kmicromail/mainwindow.cpp | 24 | ||||
-rw-r--r-- | kmicromail/viewmail.cpp | 3 | ||||
-rw-r--r-- | kmicromail/viewmailbase.cpp | 13 | ||||
-rw-r--r-- | kmicromail/viewmailbase.h | 2 |
4 files changed, 25 insertions, 17 deletions
diff --git a/kmicromail/mainwindow.cpp b/kmicromail/mainwindow.cpp index ddc7b3e..a500dec 100644 --- a/kmicromail/mainwindow.cpp +++ b/kmicromail/mainwindow.cpp | |||
@@ -1,232 +1,238 @@ | |||
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 | #include <kdialog.h> | 6 | #include <kdialog.h> |
7 | #include <kiconloader.h> | 7 | #include <kiconloader.h> |
8 | 8 | ||
9 | #ifndef DESKTOP_VERSION | 9 | #ifndef DESKTOP_VERSION |
10 | #include <qpe/qpeapplication.h> | 10 | #include <qpe/qpeapplication.h> |
11 | #endif | 11 | #endif |
12 | #include "defines.h" | 12 | #include "defines.h" |
13 | #include "mainwindow.h" | 13 | #include "mainwindow.h" |
14 | #include <KDGanttMinimizeSplitter.h> | 14 | #include <KDGanttMinimizeSplitter.h> |
15 | 15 | ||
16 | 16 | ||
17 | #include <kabc/stdaddressbook.h> | 17 | #include <kabc/stdaddressbook.h> |
18 | 18 | ||
19 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) | 19 | MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) |
20 | : QMainWindow( parent, name, flags ) | 20 | : QMainWindow( parent, name, flags ) |
21 | { | 21 | { |
22 | setCaption( tr( "KMicroMail" ) ); | 22 | setCaption( tr( "KMicroMail" ) ); |
23 | setToolBarsMovable( false ); | 23 | setToolBarsMovable( false ); |
24 | KABC::StdAddressBook::self(); | 24 | KABC::StdAddressBook::self(); |
25 | toolBar = new QToolBar( this ); | 25 | toolBar = new QToolBar( this ); |
26 | menuBar = new QMenuBar( toolBar ); | 26 | menuBar = new QMenuBar( toolBar ); |
27 | mailMenu = new QPopupMenu( menuBar ); | 27 | mailMenu = new QPopupMenu( menuBar ); |
28 | menuBar->insertItem( tr( "Mail" ), mailMenu ); | 28 | menuBar->insertItem( tr( "Mail" ), mailMenu ); |
29 | settingsMenu = new QPopupMenu( menuBar ); | 29 | settingsMenu = new QPopupMenu( menuBar ); |
30 | menuBar->insertItem( tr( "Settings" ), settingsMenu ); | 30 | menuBar->insertItem( tr( "Settings" ), settingsMenu ); |
31 | 31 | ||
32 | addToolBar( toolBar ); | 32 | addToolBar( toolBar ); |
33 | toolBar->setHorizontalStretchable( true ); | 33 | toolBar->setHorizontalStretchable( true ); |
34 | 34 | ||
35 | QLabel *spacer = new QLabel( toolBar ); | 35 | |
36 | spacer->setBackgroundMode( QWidget::PaletteButton ); | ||
37 | toolBar->setStretchableWidget( spacer ); | ||
38 | 36 | ||
39 | composeMail = new QAction( tr( "Compose new mail" ), SmallIcon("composemail"), | 37 | composeMail = new QAction( tr( "Compose new mail" ), SmallIcon("composemail"), |
40 | 0, 0, this ); | 38 | 0, 0, this ); |
41 | composeMail->addTo( toolBar ); | 39 | composeMail->addTo( toolBar ); |
42 | composeMail->addTo( mailMenu ); | 40 | composeMail->addTo( mailMenu ); |
43 | 41 | ||
44 | sendQueued = new QAction( tr( "Send queued mails" ), SmallIcon("sendqueued") , | 42 | sendQueued = new QAction( tr( "Send queued mails" ), SmallIcon("sendqueued") , |
45 | 0, 0, this ); | 43 | 0, 0, this ); |
46 | sendQueued->addTo( toolBar ); | 44 | sendQueued->addTo( toolBar ); |
47 | sendQueued->addTo( mailMenu ); | 45 | sendQueued->addTo( mailMenu ); |
48 | 46 | ||
49 | /* | 47 | /* |
50 | syncFolders = new QAction( tr( "Sync mailfolders" ), ICON_SYNC, | 48 | syncFolders = new QAction( tr( "Sync mailfolders" ), ICON_SYNC, |
51 | 0, 0, this ); | 49 | 0, 0, this ); |
52 | syncFolders->addTo( toolBar ); | 50 | syncFolders->addTo( toolBar ); |
53 | syncFolders->addTo( mailMenu ); | 51 | syncFolders->addTo( mailMenu ); |
54 | */ | 52 | */ |
55 | 53 | ||
56 | showFolders = new QAction( tr( "Show/Hide folders" ), SmallIcon("showfolders") , | 54 | showFolders = new QAction( tr( "Show/Hide folders" ), SmallIcon("showfolders") , |
57 | 0, 0, this, 0, true ); | 55 | 0, 0, this, 0, true ); |
58 | showFolders->addTo( toolBar ); | 56 | showFolders->addTo( toolBar ); |
59 | showFolders->addTo( mailMenu ); | 57 | showFolders->addTo( mailMenu ); |
60 | showFolders->setOn( true ); | 58 | showFolders->setOn( true ); |
61 | connect(showFolders, SIGNAL( toggled(bool) ), | 59 | connect(showFolders, SIGNAL( toggled(bool) ), |
62 | SLOT( slotShowFolders(bool) ) ); | 60 | SLOT( slotShowFolders(bool) ) ); |
63 | 61 | ||
64 | /* | 62 | /* |
65 | searchMails = new QAction( tr( "Search mails" ), SmallIcon("find") ), | 63 | searchMails = new QAction( tr( "Search mails" ), SmallIcon("find") ), |
66 | 0, 0, this ); | 64 | 0, 0, this ); |
67 | searchMails->addTo( toolBar ); | 65 | searchMails->addTo( toolBar ); |
68 | searchMails->addTo( mailMenu ); | 66 | searchMails->addTo( mailMenu ); |
69 | */ | 67 | */ |
70 | 68 | ||
71 | deleteMails = new QAction(tr("Delete Mail"), SmallIcon("trash"), 0, 0, this); | 69 | deleteMails = new QAction(tr("Delete Mail"), SmallIcon("trash"), 0, 0, this); |
72 | deleteMails->addTo( toolBar ); | 70 | deleteMails->addTo( toolBar ); |
73 | deleteMails->addTo( mailMenu ); | 71 | deleteMails->addTo( mailMenu ); |
74 | connect( deleteMails, SIGNAL( activated() ), | 72 | connect( deleteMails, SIGNAL( activated() ), |
75 | SLOT( slotDeleteMail() ) ); | 73 | SLOT( slotDeleteMail() ) ); |
76 | 74 | ||
77 | editSettings = new QAction( tr( "Edit settings" ), SmallIcon("SettingsIcon") , | 75 | editSettings = new QAction( tr( "Edit settings" ), SmallIcon("SettingsIcon") , |
78 | 0, 0, this ); | 76 | 0, 0, this ); |
79 | editSettings->addTo( settingsMenu ); | 77 | editSettings->addTo( settingsMenu ); |
80 | connect( editSettings, SIGNAL( activated() ), | 78 | connect( editSettings, SIGNAL( activated() ), |
81 | SLOT( slotEditSettings() ) ); | 79 | SLOT( slotEditSettings() ) ); |
82 | editAccounts = new QAction( tr( "Configure accounts" ), SmallIcon("editaccounts") , | 80 | editAccounts = new QAction( tr( "Configure accounts" ), SmallIcon("editaccounts") , |
83 | 0, 0, this ); | 81 | 0, 0, this ); |
84 | editAccounts->addTo( settingsMenu ); | 82 | editAccounts->addTo( settingsMenu ); |
85 | 83 | ||
86 | //setCentralWidget( view ); | 84 | //setCentralWidget( view ); |
87 | 85 | ||
88 | QVBox* wrapperBox = new QVBox( this ); | 86 | QVBox* wrapperBox = new QVBox( this ); |
89 | setCentralWidget( wrapperBox ); | 87 | setCentralWidget( wrapperBox ); |
90 | 88 | ||
91 | // QWidget *view = new QWidget( wrapperBox ); | 89 | // QWidget *view = new QWidget( wrapperBox ); |
92 | KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, wrapperBox); | 90 | KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, wrapperBox); |
93 | split->setMinimizeDirection( KDGanttMinimizeSplitter::Left); | 91 | split->setMinimizeDirection( KDGanttMinimizeSplitter::Left); |
94 | //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight ); | 92 | //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight ); |
95 | 93 | ||
96 | folderView = new AccountView( split ); | 94 | folderView = new AccountView( split ); |
97 | folderView->header()->hide(); | 95 | folderView->header()->hide(); |
98 | folderView->setRootIsDecorated( false ); | 96 | folderView->setRootIsDecorated( false ); |
99 | folderView->addColumn( tr( "Mailbox" ) ); | 97 | folderView->addColumn( tr( "Mailbox" ) ); |
100 | 98 | ||
101 | //layout->addWidget( folderView ); | 99 | //layout->addWidget( folderView ); |
102 | 100 | ||
103 | mailView = new QListView( split ); | 101 | mailView = new QListView( split ); |
104 | mailView->addColumn( tr( " " ) ); | 102 | mailView->addColumn( tr( " " ) ); |
105 | mailView->addColumn( tr( "Subject" ),QListView::Manual ); | 103 | mailView->addColumn( tr( "Subject" ),QListView::Manual ); |
106 | mailView->addColumn( tr( "Sender" ),QListView::Manual ); | 104 | mailView->addColumn( tr( "Sender" ),QListView::Manual ); |
107 | mailView->addColumn( tr( "Size" ),QListView::Manual); | 105 | mailView->addColumn( tr( "Size" ),QListView::Manual); |
108 | mailView->addColumn( tr( "Date" ),QListView::Manual); | 106 | mailView->addColumn( tr( "Date" ),QListView::Manual); |
109 | mailView->setAllColumnsShowFocus(true); | 107 | mailView->setAllColumnsShowFocus(true); |
110 | //mailView->setSorting(-1); | 108 | //mailView->setSorting(-1); |
111 | mailView->setRootIsDecorated( false ); | 109 | mailView->setRootIsDecorated( false ); |
112 | statusWidget = new StatusWidget( wrapperBox ); | 110 | statusWidget = new StatusWidget( wrapperBox ); |
113 | statusWidget->hide(); | 111 | statusWidget->hide(); |
114 | 112 | ||
115 | //layout->addWidget( mailView ); | 113 | //layout->addWidget( mailView ); |
116 | //layout->setStretchFactor( folderView, 1 ); | 114 | //layout->setStretchFactor( folderView, 1 ); |
117 | //layout->setStretchFactor( mailView, 2 ); | 115 | //layout->setStretchFactor( mailView, 2 ); |
118 | 116 | ||
119 | slotAdjustLayout(); | 117 | slotAdjustLayout(); |
120 | #ifndef DESKTOP_VERSION | 118 | #ifndef DESKTOP_VERSION |
121 | QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); | 119 | QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); |
122 | QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); | 120 | QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); |
123 | #endif | 121 | #endif |
124 | connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this, | 122 | connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this, |
125 | SLOT( mailLeftClicked(QListViewItem*) ) ); | 123 | SLOT( mailLeftClicked(QListViewItem*) ) ); |
126 | connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this, | 124 | connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this, |
127 | SLOT( mailLeftClicked(QListViewItem*) ) ); | 125 | SLOT( mailLeftClicked(QListViewItem*) ) ); |
128 | connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, | 126 | connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, |
129 | SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); | 127 | SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); |
130 | connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), | 128 | connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), |
131 | this,SLOT(refreshMailView(const QValueList<RecMailP>&))); | 129 | this,SLOT(refreshMailView(const QValueList<RecMailP>&))); |
132 | connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); | 130 | connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); |
133 | connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); | 131 | connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); |
134 | // connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); | 132 | // connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); |
135 | connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); | 133 | connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); |
136 | mailView->setMultiSelection ( true ); | 134 | //mailView->setMultiSelection ( true ); |
137 | //mailView->setSelectionMode( QListView::Extended ); | 135 | mailView->setSelectionMode( QListView::Extended ); |
138 | QValueList<int> list; | 136 | QValueList<int> list; |
139 | int fw = 100; | 137 | int fw = 100; |
140 | if ( QApplication::desktop()->width() > 320 ) | 138 | if ( QApplication::desktop()->width() > 320 ) |
141 | fw = 50; | 139 | fw = 50; |
142 | list.append( fw ); | 140 | list.append( fw ); |
143 | list.append( 100 ); | 141 | list.append( 100 ); |
144 | split->setSizes( list ); | 142 | split->setSizes( list ); |
145 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); | 143 | QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); |
146 | mailView->setShowSortIndicator ( true ); | 144 | mailView->setShowSortIndicator ( true ); |
145 | QLabel *spacer = new QLabel( toolBar ); | ||
146 | spacer->setBackgroundMode( QWidget::PaletteButton ); | ||
147 | toolBar->setStretchableWidget( spacer ); | ||
148 | |||
149 | QAction* closeMail = new QAction(tr("Close"),SmallIcon("exit"), 0, 0, this); | ||
150 | connect( closeMail, SIGNAL( activated() ), SLOT( close() ) ); | ||
151 | closeMail->addTo(toolBar); | ||
152 | closeMail->addTo(mailMenu); | ||
147 | } | 153 | } |
148 | 154 | ||
149 | MainWindow::~MainWindow() | 155 | MainWindow::~MainWindow() |
150 | { | 156 | { |
151 | } | 157 | } |
152 | 158 | ||
153 | void MainWindow::appMessage(const QCString &, const QByteArray &) | 159 | void MainWindow::appMessage(const QCString &, const QByteArray &) |
154 | { | 160 | { |
155 | qDebug("appMessage implemented by subclass"); | 161 | qDebug("appMessage implemented by subclass"); |
156 | } | 162 | } |
157 | 163 | ||
158 | void MainWindow::slotAdjustLayout() { | 164 | void MainWindow::slotAdjustLayout() { |
159 | 165 | ||
160 | /* | 166 | /* |
161 | QWidget *d = QApplication::desktop(); | 167 | QWidget *d = QApplication::desktop(); |
162 | 168 | ||
163 | if ( d->width() < d->height() ) { | 169 | if ( d->width() < d->height() ) { |
164 | layout->setDirection( QBoxLayout::TopToBottom ); | 170 | layout->setDirection( QBoxLayout::TopToBottom ); |
165 | } else { | 171 | } else { |
166 | layout->setDirection( QBoxLayout::LeftToRight ); | 172 | layout->setDirection( QBoxLayout::LeftToRight ); |
167 | } | 173 | } |
168 | */ | 174 | */ |
169 | } | 175 | } |
170 | 176 | ||
171 | void MainWindow::slotAdjustColumns() | 177 | void MainWindow::slotAdjustColumns() |
172 | { | 178 | { |
173 | bool hidden = folderView->isHidden(); | 179 | bool hidden = folderView->isHidden(); |
174 | if ( hidden ) folderView->show(); | 180 | if ( hidden ) folderView->show(); |
175 | folderView->setColumnWidth( 0, folderView->visibleWidth() ); | 181 | folderView->setColumnWidth( 0, folderView->visibleWidth() ); |
176 | if ( hidden ) folderView->hide(); | 182 | if ( hidden ) folderView->hide(); |
177 | 183 | ||
178 | mailView->setColumnWidth( 0, 10 ); | 184 | mailView->setColumnWidth( 0, 10 ); |
179 | mailView->setColumnWidth( 1, 80 ); | 185 | mailView->setColumnWidth( 1, 100 ); |
180 | mailView->setColumnWidth( 2, 80 ); | 186 | mailView->setColumnWidth( 2, 100 ); |
181 | mailView->setColumnWidth( 3, 50 ); | 187 | mailView->setColumnWidth( 3, 50 ); |
182 | mailView->setColumnWidth( 4, 50 ); | 188 | mailView->setColumnWidth( 4, 120 ); |
183 | } | 189 | } |
184 | 190 | ||
185 | void MainWindow::slotEditSettings() | 191 | void MainWindow::slotEditSettings() |
186 | { | 192 | { |
187 | } | 193 | } |
188 | 194 | ||
189 | void MainWindow::slotShowFolders( bool ) | 195 | void MainWindow::slotShowFolders( bool ) |
190 | { | 196 | { |
191 | qDebug("not implemented: "); | 197 | qDebug("not implemented: "); |
192 | } | 198 | } |
193 | 199 | ||
194 | void MainWindow::refreshMailView(const QValueList<RecMailP>&) | 200 | void MainWindow::refreshMailView(const QValueList<RecMailP>&) |
195 | { | 201 | { |
196 | qDebug("not implemented: "); | 202 | qDebug("not implemented: "); |
197 | } | 203 | } |
198 | 204 | ||
199 | void MainWindow::mailLeftClicked(QListViewItem * ) | 205 | void MainWindow::mailLeftClicked(QListViewItem * ) |
200 | { | 206 | { |
201 | qDebug("not implemented: "); | 207 | qDebug("not implemented: "); |
202 | } | 208 | } |
203 | 209 | ||
204 | void MainWindow::displayMail() | 210 | void MainWindow::displayMail() |
205 | { | 211 | { |
206 | qDebug("not implemented: "); | 212 | qDebug("not implemented: "); |
207 | } | 213 | } |
208 | 214 | ||
209 | void MainWindow::slotDeleteMail() | 215 | void MainWindow::slotDeleteMail() |
210 | { | 216 | { |
211 | qDebug("not implemented: "); | 217 | qDebug("not implemented: "); |
212 | } | 218 | } |
213 | 219 | ||
214 | void MainWindow::mailHold(int, QListViewItem *,const QPoint&,int ) | 220 | void MainWindow::mailHold(int, QListViewItem *,const QPoint&,int ) |
215 | { | 221 | { |
216 | qDebug("not implemented: "); | 222 | qDebug("not implemented: "); |
217 | } | 223 | } |
218 | 224 | ||
219 | void MainWindow::slotSendQueued() | 225 | void MainWindow::slotSendQueued() |
220 | { | 226 | { |
221 | qDebug("not implemented: "); | 227 | qDebug("not implemented: "); |
222 | } | 228 | } |
223 | 229 | ||
224 | void MainWindow::slotEditAccounts() | 230 | void MainWindow::slotEditAccounts() |
225 | { | 231 | { |
226 | qDebug("not implemented: "); | 232 | qDebug("not implemented: "); |
227 | } | 233 | } |
228 | 234 | ||
229 | void MainWindow::slotComposeMail() | 235 | void MainWindow::slotComposeMail() |
230 | { | 236 | { |
231 | qDebug("not implemented: "); | 237 | qDebug("not implemented: "); |
232 | } | 238 | } |
diff --git a/kmicromail/viewmail.cpp b/kmicromail/viewmail.cpp index b434318..703711d 100644 --- a/kmicromail/viewmail.cpp +++ b/kmicromail/viewmail.cpp | |||
@@ -252,129 +252,130 @@ void ViewMail::slotItemClicked( QListViewItem * item , const QPoint & point, int | |||
252 | 252 | ||
253 | case 2: | 253 | case 2: |
254 | { | 254 | { |
255 | QString tmpfile = "/tmp/opiemail-image"; | 255 | QString tmpfile = "/tmp/opiemail-image"; |
256 | encodedString*content = m_recMail->Wrapper()->fetchDecodedPart( m_recMail, m_body->Parts()[ ( ( AttachItem* )item )->Partnumber() ] ); | 256 | encodedString*content = m_recMail->Wrapper()->fetchDecodedPart( m_recMail, m_body->Parts()[ ( ( AttachItem* )item )->Partnumber() ] ); |
257 | if (content) { | 257 | if (content) { |
258 | QFile output(tmpfile); | 258 | QFile output(tmpfile); |
259 | output.open(IO_WriteOnly); | 259 | output.open(IO_WriteOnly); |
260 | output.writeBlock(content->Content(),content->Length()); | 260 | output.writeBlock(content->Content(),content->Length()); |
261 | output.close(); | 261 | output.close(); |
262 | delete content; | 262 | delete content; |
263 | MailImageDlg iview(""); | 263 | MailImageDlg iview(""); |
264 | iview.setName(tmpfile); | 264 | iview.setName(tmpfile); |
265 | KApplication::execDialog(&iview); | 265 | KApplication::execDialog(&iview); |
266 | output.remove(); | 266 | output.remove(); |
267 | } | 267 | } |
268 | } | 268 | } |
269 | break; | 269 | break; |
270 | case 1: | 270 | case 1: |
271 | if ( ( ( AttachItem* )item )->Partnumber() == -1 ) | 271 | if ( ( ( AttachItem* )item )->Partnumber() == -1 ) |
272 | { | 272 | { |
273 | setText(); | 273 | setText(); |
274 | } | 274 | } |
275 | else | 275 | else |
276 | { | 276 | { |
277 | if ( m_recMail->Wrapper() != 0l ) | 277 | if ( m_recMail->Wrapper() != 0l ) |
278 | { // make sure that there is a wrapper , even after delete or simular actions | 278 | { // make sure that there is a wrapper , even after delete or simular actions |
279 | browser->setText( m_recMail->Wrapper()->fetchTextPart( m_recMail, m_body->Parts()[ ( ( AttachItem* )item )->Partnumber() ] ) ); | 279 | browser->setText( m_recMail->Wrapper()->fetchTextPart( m_recMail, m_body->Parts()[ ( ( AttachItem* )item )->Partnumber() ] ) ); |
280 | } | 280 | } |
281 | } | 281 | } |
282 | break; | 282 | break; |
283 | } | 283 | } |
284 | delete menu; | 284 | delete menu; |
285 | } | 285 | } |
286 | 286 | ||
287 | 287 | ||
288 | void ViewMail::setMail(const RecMailP&mail ) | 288 | void ViewMail::setMail(const RecMailP&mail ) |
289 | { | 289 | { |
290 | 290 | ||
291 | m_recMail = mail; | 291 | m_recMail = mail; |
292 | 292 | ||
293 | m_mail[0] = mail->getFrom(); | 293 | m_mail[0] = mail->getFrom(); |
294 | m_mail[1] = mail->getSubject(); | 294 | m_mail[1] = mail->getSubject(); |
295 | m_mail[3] = mail->getDate(); | 295 | m_mail[3] = mail->getDate(); |
296 | m_mail[4] = mail->Msgid(); | 296 | m_mail[4] = mail->Msgid(); |
297 | 297 | ||
298 | m_mail2[0] = mail->To(); | 298 | m_mail2[0] = mail->To(); |
299 | m_mail2[1] = mail->CC(); | 299 | m_mail2[1] = mail->CC(); |
300 | m_mail2[2] = mail->Bcc(); | 300 | m_mail2[2] = mail->Bcc(); |
301 | 301 | ||
302 | setText(); | 302 | setText(); |
303 | } | 303 | } |
304 | 304 | ||
305 | 305 | ||
306 | 306 | ||
307 | ViewMail::ViewMail( QWidget *parent, const char *name, WFlags fl) | 307 | ViewMail::ViewMail( QWidget *parent, const char *name, WFlags fl) |
308 | : ViewMailBase(parent, name, fl), _inLoop(false) | 308 | : ViewMailBase(parent, name, fl), _inLoop(false) |
309 | { | 309 | { |
310 | m_gotBody = false; | 310 | m_gotBody = false; |
311 | deleted = false; | 311 | deleted = false; |
312 | 312 | ||
313 | connect( reply, SIGNAL(activated()), SLOT(slotReply())); | 313 | connect( reply, SIGNAL(activated()), SLOT(slotReply())); |
314 | connect( forward, SIGNAL(activated()), SLOT(slotForward())); | 314 | connect( forward, SIGNAL(activated()), SLOT(slotForward())); |
315 | connect( deleteMail, SIGNAL( activated() ), SLOT( slotDeleteMail() ) ); | 315 | connect( deleteMail, SIGNAL( activated() ), SLOT( slotDeleteMail() ) ); |
316 | connect( showHtml, SIGNAL( toggled(bool) ), SLOT( slotShowHtml(bool) ) ); | 316 | connect( showHtml, SIGNAL( toggled(bool) ), SLOT( slotShowHtml(bool) ) ); |
317 | connect( closeMail, SIGNAL( activated() ), SLOT( close() ) ); | ||
317 | 318 | ||
318 | attachments->setEnabled(m_gotBody); | 319 | attachments->setEnabled(m_gotBody); |
319 | connect( attachments, SIGNAL( clicked(QListViewItem*,const QPoint&, int) ), SLOT( slotItemClicked(QListViewItem*,const QPoint&, int) ) ); | 320 | connect( attachments, SIGNAL( clicked(QListViewItem*,const QPoint&, int) ), SLOT( slotItemClicked(QListViewItem*,const QPoint&, int) ) ); |
320 | 321 | ||
321 | readConfig(); | 322 | readConfig(); |
322 | attachments->setSorting(-1); | 323 | attachments->setSorting(-1); |
323 | } | 324 | } |
324 | 325 | ||
325 | void ViewMail::readConfig() | 326 | void ViewMail::readConfig() |
326 | { | 327 | { |
327 | Config cfg( "mail" ); | 328 | Config cfg( "mail" ); |
328 | cfg.setGroup( "Settings" ); | 329 | cfg.setGroup( "Settings" ); |
329 | m_showHtml = cfg.readBoolEntry( "showHtml", false ); | 330 | m_showHtml = cfg.readBoolEntry( "showHtml", false ); |
330 | showHtml->setOn( m_showHtml ); | 331 | showHtml->setOn( m_showHtml ); |
331 | } | 332 | } |
332 | 333 | ||
333 | void ViewMail::setText() | 334 | void ViewMail::setText() |
334 | { | 335 | { |
335 | 336 | ||
336 | QString toString; | 337 | QString toString; |
337 | QString ccString; | 338 | QString ccString; |
338 | QString bccString; | 339 | QString bccString; |
339 | 340 | ||
340 | for ( QStringList::Iterator it = ( m_mail2[0] ).begin(); it != ( m_mail2[0] ).end(); ++it ) | 341 | for ( QStringList::Iterator it = ( m_mail2[0] ).begin(); it != ( m_mail2[0] ).end(); ++it ) |
341 | { | 342 | { |
342 | toString += (*it); | 343 | toString += (*it); |
343 | } | 344 | } |
344 | for ( QStringList::Iterator it = ( m_mail2[1] ).begin(); it != ( m_mail2[1] ).end(); ++it ) | 345 | for ( QStringList::Iterator it = ( m_mail2[1] ).begin(); it != ( m_mail2[1] ).end(); ++it ) |
345 | { | 346 | { |
346 | ccString += (*it); | 347 | ccString += (*it); |
347 | } | 348 | } |
348 | for ( QStringList::Iterator it = ( m_mail2[2] ).begin(); it != ( m_mail2[2] ).end(); ++it ) | 349 | for ( QStringList::Iterator it = ( m_mail2[2] ).begin(); it != ( m_mail2[2] ).end(); ++it ) |
349 | { | 350 | { |
350 | bccString += (*it); | 351 | bccString += (*it); |
351 | } | 352 | } |
352 | 353 | ||
353 | setCaption( tr("E-Mail by %1").arg( m_mail[0] ) ); | 354 | setCaption( tr("E-Mail by %1").arg( m_mail[0] ) ); |
354 | 355 | ||
355 | m_mailHtml = "<html><body>" | 356 | m_mailHtml = "<html><body>" |
356 | "<table width=\"100%\" border=\"0\"><tr bgcolor=\"#FFDD76\"><td>" | 357 | "<table width=\"100%\" border=\"0\"><tr bgcolor=\"#FFDD76\"><td>" |
357 | "<div align=left><b>" + deHtml( m_mail[1] ) + "</b></div>" | 358 | "<div align=left><b>" + deHtml( m_mail[1] ) + "</b></div>" |
358 | "</td></tr><tr bgcolor=\"#EEEEE6\"><td>" | 359 | "</td></tr><tr bgcolor=\"#EEEEE6\"><td>" |
359 | "<b>" + tr( "From" ) + ": </b><font color=#6C86C0>" + deHtml( m_mail[0] ) + "</font><br>" | 360 | "<b>" + tr( "From" ) + ": </b><font color=#6C86C0>" + deHtml( m_mail[0] ) + "</font><br>" |
360 | "<b>" + tr( "To" ) + ": </b><font color=#6C86C0>" + deHtml( toString ) + "</font><br><b>" + | 361 | "<b>" + tr( "To" ) + ": </b><font color=#6C86C0>" + deHtml( toString ) + "</font><br><b>" + |
361 | tr( "Cc" ) + ": </b>" + deHtml( ccString ) + "<br>" | 362 | tr( "Cc" ) + ": </b>" + deHtml( ccString ) + "<br>" |
362 | "<b>" + tr( "Date" ) + ": </b> " + m_mail[3] + | 363 | "<b>" + tr( "Date" ) + ": </b> " + m_mail[3] + |
363 | "</td></tr></table><font face=fixed>"; | 364 | "</td></tr></table><font face=fixed>"; |
364 | 365 | ||
365 | if ( !m_showHtml ) | 366 | if ( !m_showHtml ) |
366 | { | 367 | { |
367 | browser->setText( QString( m_mailHtml) + deHtml( m_mail[2] ) + "</font></html>" ); | 368 | browser->setText( QString( m_mailHtml) + deHtml( m_mail[2] ) + "</font></html>" ); |
368 | } | 369 | } |
369 | else | 370 | else |
370 | { | 371 | { |
371 | browser->setText( QString( m_mailHtml) + m_mail[2] + "</font></html>" ); | 372 | browser->setText( QString( m_mailHtml) + m_mail[2] + "</font></html>" ); |
372 | } | 373 | } |
373 | // remove later in favor of a real handling | 374 | // remove later in favor of a real handling |
374 | m_gotBody = true; | 375 | m_gotBody = true; |
375 | } | 376 | } |
376 | 377 | ||
377 | 378 | ||
378 | ViewMail::~ViewMail() | 379 | ViewMail::~ViewMail() |
379 | { | 380 | { |
380 | m_recMail->Wrapper()->cleanMimeCache(); | 381 | m_recMail->Wrapper()->cleanMimeCache(); |
diff --git a/kmicromail/viewmailbase.cpp b/kmicromail/viewmailbase.cpp index 2590481..584a0ac 100644 --- a/kmicromail/viewmailbase.cpp +++ b/kmicromail/viewmailbase.cpp | |||
@@ -1,90 +1,91 @@ | |||
1 | #include <qtextbrowser.h> | 1 | #include <qtextbrowser.h> |
2 | #include <qlistview.h> | 2 | #include <qlistview.h> |
3 | #include <qaction.h> | 3 | #include <qaction.h> |
4 | #include <qlabel.h> | 4 | #include <qlabel.h> |
5 | #include <qvbox.h> | 5 | #include <qvbox.h> |
6 | 6 | ||
7 | #include <qtoolbar.h> | 7 | #include <qtoolbar.h> |
8 | #include <qmenubar.h> | 8 | #include <qmenubar.h> |
9 | #include <kiconloader.h> | 9 | #include <kiconloader.h> |
10 | //#include <qpe/resource.h> | 10 | //#include <qpe/resource.h> |
11 | 11 | ||
12 | #include "viewmailbase.h" | 12 | #include "viewmailbase.h" |
13 | //#include "opendiag.h" | 13 | //#include "opendiag.h" |
14 | 14 | ||
15 | ViewMailBase::ViewMailBase(QWidget *parent, const char *name, WFlags fl) | 15 | ViewMailBase::ViewMailBase(QWidget *parent, const char *name, WFlags fl) |
16 | : QMainWindow(parent, name, fl) | 16 | : QMainWindow(parent, name, fl) |
17 | { | 17 | { |
18 | 18 | ||
19 | setToolBarsMovable(false); | 19 | setToolBarsMovable(false); |
20 | 20 | ||
21 | toolbar = new QToolBar(this); | 21 | toolbar = new QToolBar(this); |
22 | menubar = new QMenuBar( toolbar ); | 22 | menubar = new QMenuBar( toolbar ); |
23 | mailmenu = new QPopupMenu( menubar ); | 23 | mailmenu = new QPopupMenu( menubar ); |
24 | menubar->insertItem( tr( "Mail" ), mailmenu ); | 24 | menubar->insertItem( tr( "Mail" ), mailmenu ); |
25 | 25 | ||
26 | toolbar->setHorizontalStretchable(true); | 26 | toolbar->setHorizontalStretchable(true); |
27 | addToolBar(toolbar); | 27 | addToolBar(toolbar); |
28 | 28 | ||
29 | QLabel *spacer = new QLabel(toolbar); | ||
30 | spacer->setBackgroundMode(QWidget::PaletteButton); | ||
31 | toolbar->setStretchableWidget(spacer); | ||
32 | |||
33 | reply = new QAction(tr("Reply"),SmallIcon("reply"), 0, 0, this); | 29 | reply = new QAction(tr("Reply"),SmallIcon("reply"), 0, 0, this); |
34 | reply->addTo(toolbar); | 30 | reply->addTo(toolbar); |
35 | reply->addTo(mailmenu); | 31 | reply->addTo(mailmenu); |
36 | 32 | ||
37 | forward = new QAction(tr("Forward"),SmallIcon("forward"), 0, 0, this); | 33 | forward = new QAction(tr("Forward"),SmallIcon("forward"), 0, 0, this); |
38 | forward->addTo(toolbar); | 34 | forward->addTo(toolbar); |
39 | forward->addTo(mailmenu); | 35 | forward->addTo(mailmenu); |
40 | 36 | ||
41 | attachbutton = new QAction(tr("Attachments"),SmallIcon("attach"), 0, 0, this, 0, true); | 37 | attachbutton = new QAction(tr("Attachments"),SmallIcon("attach"), 0, 0, this, 0, true); |
42 | attachbutton->addTo(toolbar); | 38 | attachbutton->addTo(toolbar); |
43 | attachbutton->addTo(mailmenu); | 39 | attachbutton->addTo(mailmenu); |
44 | connect(attachbutton, SIGNAL(toggled(bool)), SLOT(slotChangeAttachview(bool))); | 40 | connect(attachbutton, SIGNAL(toggled(bool)), SLOT(slotChangeAttachview(bool))); |
45 | 41 | ||
46 | 42 | ||
47 | showHtml = new QAction( tr( "Show Html" ), SmallIcon( "html" ), 0, 0, this, 0, true ); | 43 | showHtml = new QAction( tr( "Show Html" ), SmallIcon( "html" ), 0, 0, this, 0, true ); |
48 | showHtml->addTo( toolbar ); | 44 | showHtml->addTo( toolbar ); |
49 | showHtml->addTo( mailmenu ); | 45 | showHtml->addTo( mailmenu ); |
50 | 46 | ||
51 | deleteMail = new QAction(tr("Delete Mail"),SmallIcon("trash"), 0, 0, this); | 47 | deleteMail = new QAction(tr("Delete Mail"),SmallIcon("trash"), 0, 0, this); |
52 | deleteMail->addTo(toolbar); | 48 | deleteMail->addTo(toolbar); |
53 | deleteMail->addTo(mailmenu); | 49 | deleteMail->addTo(mailmenu); |
54 | 50 | closeMail = new QAction(tr("Close"),SmallIcon("exit"), 0, 0, this); | |
51 | QLabel *spacer = new QLabel(toolbar); | ||
52 | spacer->setBackgroundMode(QWidget::PaletteButton); | ||
53 | toolbar->setStretchableWidget(spacer); | ||
54 | closeMail->addTo(toolbar); | ||
55 | closeMail->addTo(mailmenu); | ||
55 | QVBox *view = new QVBox(this); | 56 | QVBox *view = new QVBox(this); |
56 | setCentralWidget(view); | 57 | setCentralWidget(view); |
57 | 58 | ||
58 | attachments = new QListView(view); | 59 | attachments = new QListView(view); |
59 | attachments->setMinimumHeight(90); | 60 | attachments->setMinimumHeight(90); |
60 | attachments->setMaximumHeight(90); | 61 | attachments->setMaximumHeight(90); |
61 | attachments->setAllColumnsShowFocus(true); | 62 | attachments->setAllColumnsShowFocus(true); |
62 | attachments->addColumn("Mime Type", 60); | 63 | attachments->addColumn("Mime Type", 60); |
63 | attachments->addColumn(tr("Description"), 100); | 64 | attachments->addColumn(tr("Description"), 100); |
64 | attachments->addColumn(tr("Filename"), 80); | 65 | attachments->addColumn(tr("Filename"), 80); |
65 | attachments->addColumn(tr("Size"), 80); | 66 | attachments->addColumn(tr("Size"), 80); |
66 | attachments->setSorting(-1); | 67 | attachments->setSorting(-1); |
67 | attachments->hide(); | 68 | attachments->hide(); |
68 | 69 | ||
69 | browser = new QTextBrowser(view); | 70 | browser = new QTextBrowser(view); |
70 | 71 | ||
71 | //openDiag = new OpenDiag(view); | 72 | //openDiag = new OpenDiag(view); |
72 | //openDiag->hide(); | 73 | //openDiag->hide(); |
73 | 74 | ||
74 | } | 75 | } |
75 | 76 | ||
76 | void ViewMailBase::slotChangeAttachview(bool state) | 77 | void ViewMailBase::slotChangeAttachview(bool state) |
77 | { | 78 | { |
78 | if (state) attachments->show(); | 79 | if (state) attachments->show(); |
79 | else attachments->hide(); | 80 | else attachments->hide(); |
80 | } | 81 | } |
81 | 82 | ||
82 | void ViewMailBase::keyPressEvent ( QKeyEvent * e ) | 83 | void ViewMailBase::keyPressEvent ( QKeyEvent * e ) |
83 | { | 84 | { |
84 | if( e->key()==Qt::Key_Escape ) { | 85 | if( e->key()==Qt::Key_Escape ) { |
85 | close(); | 86 | close(); |
86 | e->accept(); | 87 | e->accept(); |
87 | return; | 88 | return; |
88 | } | 89 | } |
89 | QWidget::keyPressEvent(e); | 90 | QWidget::keyPressEvent(e); |
90 | } | 91 | } |
diff --git a/kmicromail/viewmailbase.h b/kmicromail/viewmailbase.h index fdaad2a..c29d143 100644 --- a/kmicromail/viewmailbase.h +++ b/kmicromail/viewmailbase.h | |||
@@ -1,38 +1,38 @@ | |||
1 | #ifndef VIEWMAILBASE_H | 1 | #ifndef VIEWMAILBASE_H |
2 | #define VIEWMAILBASE_H | 2 | #define VIEWMAILBASE_H |
3 | 3 | ||
4 | #include <qmainwindow.h> | 4 | #include <qmainwindow.h> |
5 | 5 | ||
6 | class QAction; | 6 | class QAction; |
7 | class OpenDiag; | 7 | class OpenDiag; |
8 | class QListView; | 8 | class QListView; |
9 | class QToolBar; | 9 | class QToolBar; |
10 | class QTextBrowser; | 10 | class QTextBrowser; |
11 | class QMenuBar; | 11 | class QMenuBar; |
12 | class QPopupMenu; | 12 | class QPopupMenu; |
13 | 13 | ||
14 | class ViewMailBase : public QMainWindow | 14 | class ViewMailBase : public QMainWindow |
15 | { | 15 | { |
16 | Q_OBJECT | 16 | Q_OBJECT |
17 | 17 | ||
18 | public: | 18 | public: |
19 | ViewMailBase(QWidget *parent = 0, const char *name = 0, WFlags fl = 0); | 19 | ViewMailBase(QWidget *parent = 0, const char *name = 0, WFlags fl = 0); |
20 | 20 | ||
21 | protected: | 21 | protected: |
22 | QAction *reply, *forward, *attachbutton, *deleteMail, *showHtml; | 22 | QAction *reply, *forward, *attachbutton, *deleteMail, *showHtml, *closeMail; |
23 | QListView *attachments; | 23 | QListView *attachments; |
24 | QToolBar *toolbar; | 24 | QToolBar *toolbar; |
25 | QTextBrowser *browser; | 25 | QTextBrowser *browser; |
26 | OpenDiag *openDiag; | 26 | OpenDiag *openDiag; |
27 | QMenuBar *menubar; | 27 | QMenuBar *menubar; |
28 | QPopupMenu *mailmenu; | 28 | QPopupMenu *mailmenu; |
29 | 29 | ||
30 | protected slots: | 30 | protected slots: |
31 | void slotChangeAttachview(bool state); | 31 | void slotChangeAttachview(bool state); |
32 | virtual void keyPressEvent ( QKeyEvent * e ); | 32 | virtual void keyPressEvent ( QKeyEvent * e ); |
33 | 33 | ||
34 | 34 | ||
35 | }; | 35 | }; |
36 | 36 | ||
37 | #endif | 37 | #endif |
38 | 38 | ||