summaryrefslogtreecommitdiffabout
path: root/kmicromail
Unidiff
Diffstat (limited to 'kmicromail') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/composemail.cpp4
-rw-r--r--kmicromail/composemail.h4
-rw-r--r--kmicromail/opiemail.cpp8
-rw-r--r--kmicromail/opiemail.h4
4 files changed, 10 insertions, 10 deletions
diff --git a/kmicromail/composemail.cpp b/kmicromail/composemail.cpp
index 14feeee..01dd406 100644
--- a/kmicromail/composemail.cpp
+++ b/kmicromail/composemail.cpp
@@ -1,459 +1,459 @@
1// CHANGED 2004-08-06 Lutz Rogowski 1// CHANGED 2004-08-06 Lutz Rogowski
2 2
3#include "composemail.h" 3#include "composemail.h"
4 4
5#include <libmailwrapper/smtpwrapper.h> 5#include <libmailwrapper/smtpwrapper.h>
6#include <libmailwrapper/storemail.h> 6#include <libmailwrapper/storemail.h>
7#include <libmailwrapper/abstractmail.h> 7#include <libmailwrapper/abstractmail.h>
8#include <libmailwrapper/mailtypes.h> 8#include <libmailwrapper/mailtypes.h>
9 9
10/* OPIE */ 10/* OPIE */
11//#include <opie2/ofiledialog.h> 11//#include <opie2/ofiledialog.h>
12//#include <opie2/odebug.h> 12//#include <opie2/odebug.h>
13#include <kfiledialog.h> 13#include <kfiledialog.h>
14//#include <qpe/resource.h> 14//#include <qpe/resource.h>
15#include <qpe/config.h> 15#include <qpe/config.h>
16#include <qpe/global.h> 16#include <qpe/global.h>
17//#include <qpe/contact.h> 17//#include <qpe/contact.h>
18 18
19 19
20#include <qcombobox.h> 20#include <qcombobox.h>
21#include <qcheckbox.h> 21#include <qcheckbox.h>
22#include <qtimer.h> 22#include <qtimer.h>
23#include <qmessagebox.h> 23#include <qmessagebox.h>
24#include <qpushbutton.h> 24#include <qpushbutton.h>
25#include <qmultilineedit.h> 25#include <qmultilineedit.h>
26#include <qlabel.h> 26#include <qlabel.h>
27#include <qtabwidget.h> 27#include <qtabwidget.h>
28#include <qlistview.h> 28#include <qlistview.h>
29#include <kabc/addresseedialog.h> 29#include <kabc/addresseedialog.h>
30#include <kabc/stdaddressbook.h> 30#include <kabc/stdaddressbook.h>
31#include <kabc/addressee.h> 31#include <kabc/addressee.h>
32#ifdef DESKTOP_VERSION 32#ifdef DESKTOP_VERSION
33#include <kabc/addresseedialog.h> 33#include <kabc/addresseedialog.h>
34#else //DESKTOP_VERSION 34#else //DESKTOP_VERSION
35#include <libkdepim/externalapphandler.h> 35#include <libkdepim/externalapphandler.h>
36#endif //DESKTOP_VERSION 36#endif //DESKTOP_VERSION
37 37
38 38
39//using namespace Opie::Core; 39//using namespace Opie::Core;
40//using namespace Opie::Ui; 40//using namespace Opie::Ui;
41ComposeMail::ComposeMail( Settings *s, QWidget *parent, const char *name, bool modal, WFlags flags ) 41ComposeMail::ComposeMail( Settings *s, QWidget *parent, const char *name, bool modal )
42 : ComposeMailUI( parent, name, modal, flags ) 42 : ComposeMailUI( parent, name, modal )
43{ 43{
44 44
45 mPickLineEdit = 0; 45 mPickLineEdit = 0;
46 connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)), 46 connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)),
47 this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&))); 47 this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&)));
48 settings = s; 48 settings = s;
49 m_replyid = ""; 49 m_replyid = "";
50 KConfig config( locateLocal("config", "kabcrc") ); 50 KConfig config( locateLocal("config", "kabcrc") );
51 config.setGroup( "General" ); 51 config.setGroup( "General" );
52 QString whoami_uid = config.readEntry( "WhoAmI" ); 52 QString whoami_uid = config.readEntry( "WhoAmI" );
53 if ( whoami_uid.isEmpty() ) { 53 if ( whoami_uid.isEmpty() ) {
54 QMessageBox::information( 0, tr( "Hint" ), 54 QMessageBox::information( 0, tr( "Hint" ),
55 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), 55 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ),
56 tr( "Ok" ) ); 56 tr( "Ok" ) );
57 57
58 } else 58 } else
59 bool res = ExternalAppHandler::instance()->requestDetailsFromKAPI("", "sendbacklist", whoami_uid); 59 bool res = ExternalAppHandler::instance()->requestDetailsFromKAPI("", "sendbacklist", whoami_uid);
60#ifdef DESKTOP_VERSION 60#ifdef DESKTOP_VERSION
61 KABC::Addressee con = KABC::StdAddressBook::self()->whoAmI( ); 61 KABC::Addressee con = KABC::StdAddressBook::self()->whoAmI( );
62 QStringList mails = con.emails(); 62 QStringList mails = con.emails();
63 QString defmail = con.preferredEmail(); 63 QString defmail = con.preferredEmail();
64 if ( mails.count() == 0) 64 if ( mails.count() == 0)
65 QMessageBox::information( 0, tr( "Hint" ), 65 QMessageBox::information( 0, tr( "Hint" ),
66 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), 66 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ),
67 tr( "Ok" ) ); 67 tr( "Ok" ) );
68 if (defmail.length()!=0) { 68 if (defmail.length()!=0) {
69 fromBox->insertItem(defmail); 69 fromBox->insertItem(defmail);
70 } 70 }
71 QStringList::ConstIterator sit = mails.begin(); 71 QStringList::ConstIterator sit = mails.begin();
72 for (;sit!=mails.end();++sit) { 72 for (;sit!=mails.end();++sit) {
73 if ( (*sit)==defmail) 73 if ( (*sit)==defmail)
74 continue; 74 continue;
75 fromBox->insertItem((*sit)); 75 fromBox->insertItem((*sit));
76 } 76 }
77 senderNameEdit->setText(con.formattedName()); 77 senderNameEdit->setText(con.formattedName());
78#endif 78#endif
79 Config cfg( "mail" ); 79 Config cfg( "mail" );
80 cfg.setGroup( "Compose" ); 80 cfg.setGroup( "Compose" );
81 checkBoxLater->setChecked( cfg.readBoolEntry( "sendLater", false ) ); 81 checkBoxLater->setChecked( cfg.readBoolEntry( "sendLater", false ) );
82 82
83 attList->addColumn( tr( "Name" ) ); 83 attList->addColumn( tr( "Name" ) );
84 attList->addColumn( tr( "Size" ) ); 84 attList->addColumn( tr( "Size" ) );
85 85
86 QList<Account> accounts = settings->getAccounts(); 86 QList<Account> accounts = settings->getAccounts();
87 87
88 Account *it; 88 Account *it;
89 for ( it = accounts.first(); it; it = accounts.next() ) { 89 for ( it = accounts.first(); it; it = accounts.next() ) {
90 if ( it->getType()==MAILLIB::A_SMTP ) { 90 if ( it->getType()==MAILLIB::A_SMTP ) {
91 SMTPaccount *smtp = static_cast<SMTPaccount *>(it); 91 SMTPaccount *smtp = static_cast<SMTPaccount *>(it);
92 smtpAccountBox->insertItem( smtp->getAccountName() ); 92 smtpAccountBox->insertItem( smtp->getAccountName() );
93 smtpAccounts.append( smtp ); 93 smtpAccounts.append( smtp );
94 } 94 }
95 } 95 }
96 if ( smtpAccounts.count() > 0 ) { 96 if ( smtpAccounts.count() > 0 ) {
97 fillValues( smtpAccountBox->currentItem() ); 97 fillValues( smtpAccountBox->currentItem() );
98 } else { 98 } else {
99 QMessageBox::information( 0, tr( "Problem" ), 99 QMessageBox::information( 0, tr( "Problem" ),
100 tr( "Please create an SMTP account first.\nThe SMTP is needed for sending mail.\n" ), 100 tr( "Please create an SMTP account first.\nThe SMTP is needed for sending mail.\n" ),
101 tr( "Ok" ) ); 101 tr( "Ok" ) );
102 return; 102 return;
103 } 103 }
104 connect( smtpAccountBox, SIGNAL( activated(int) ), SLOT( fillValues(int) ) ); 104 connect( smtpAccountBox, SIGNAL( activated(int) ), SLOT( fillValues(int) ) );
105 connect( toButton, SIGNAL( clicked() ), SLOT( pickAddressTo() ) ); 105 connect( toButton, SIGNAL( clicked() ), SLOT( pickAddressTo() ) );
106 connect( ccButton, SIGNAL( clicked() ), SLOT( pickAddressCC() ) ); 106 connect( ccButton, SIGNAL( clicked() ), SLOT( pickAddressCC() ) );
107 connect( bccButton, SIGNAL( clicked() ), SLOT( pickAddressBCC() ) ); 107 connect( bccButton, SIGNAL( clicked() ), SLOT( pickAddressBCC() ) );
108 connect( replyButton, SIGNAL( clicked() ), SLOT( pickAddressReply() ) ); 108 connect( replyButton, SIGNAL( clicked() ), SLOT( pickAddressReply() ) );
109 connect( addButton, SIGNAL( clicked() ), SLOT( addAttachment() ) ); 109 connect( addButton, SIGNAL( clicked() ), SLOT( addAttachment() ) );
110 connect( deleteButton, SIGNAL( clicked() ), SLOT( removeAttachment() ) ); 110 connect( deleteButton, SIGNAL( clicked() ), SLOT( removeAttachment() ) );
111 connect( SaveButton, SIGNAL( clicked() ), SLOT( saveAsDraft()) ); 111 connect( SaveButton, SIGNAL( clicked() ), SLOT( saveAsDraft()) );
112 mMail = 0; 112 mMail = 0;
113 warnAttach = true; 113 warnAttach = true;
114 114
115} 115}
116 116
117 117
118 118
119void ComposeMail::saveAsDraft() 119void ComposeMail::saveAsDraft()
120{ 120{
121 121
122 Opie::Core::OSmartPointer<Mail> mail= new Mail(); 122 Opie::Core::OSmartPointer<Mail> mail= new Mail();
123 mail->setMail(fromBox->currentText()); 123 mail->setMail(fromBox->currentText());
124 mail->setTo( toLine->text() ); 124 mail->setTo( toLine->text() );
125 mail->setName(senderNameEdit->text()); 125 mail->setName(senderNameEdit->text());
126 mail->setCC( ccLine->text() ); 126 mail->setCC( ccLine->text() );
127 mail->setBCC( bccLine->text() ); 127 mail->setBCC( bccLine->text() );
128 mail->setReply( replyLine->text() ); 128 mail->setReply( replyLine->text() );
129 mail->setSubject( subjectLine->text() ); 129 mail->setSubject( subjectLine->text() );
130 if (!m_replyid.isEmpty()) { 130 if (!m_replyid.isEmpty()) {
131 QStringList ids; 131 QStringList ids;
132 ids.append(m_replyid); 132 ids.append(m_replyid);
133 mail->setInreply(ids); 133 mail->setInreply(ids);
134 } 134 }
135 QString txt = message->text(); 135 QString txt = message->text();
136 if ( !sigMultiLine->text().isEmpty() ) { 136 if ( !sigMultiLine->text().isEmpty() ) {
137 txt.append( "\n--\n" ); 137 txt.append( "\n--\n" );
138 txt.append( sigMultiLine->text() ); 138 txt.append( sigMultiLine->text() );
139 } 139 }
140 mail->setMessage( txt ); 140 mail->setMessage( txt );
141 141
142 /* only use the default drafts folder name! */ 142 /* only use the default drafts folder name! */
143 Storemail wrapper(AbstractMail::draftFolder()); 143 Storemail wrapper(AbstractMail::draftFolder());
144 wrapper.storeMail(mail); 144 wrapper.storeMail(mail);
145 145
146 AttachViewItem *it = (AttachViewItem *) attList->firstChild(); 146 AttachViewItem *it = (AttachViewItem *) attList->firstChild();
147 /* attachments we will ignore! */ 147 /* attachments we will ignore! */
148 if ( it != 0 ) { 148 if ( it != 0 ) {
149 if ( warnAttach ) 149 if ( warnAttach )
150 QMessageBox::warning(0,tr("Store message"), 150 QMessageBox::warning(0,tr("Store message"),
151 tr("<center>Attachments will not be stored in \"Draft\" folder</center>")); 151 tr("<center>Attachments will not be stored in \"Draft\" folder</center>"));
152 warnAttach = false; 152 warnAttach = false;
153 } 153 }
154 setStatus( tr("Mail saved as draft!") ); 154 setStatus( tr("Mail saved as draft!") );
155} 155}
156void ComposeMail::clearStatus() 156void ComposeMail::clearStatus()
157{ 157{
158 topLevelWidget()->setCaption( tr("Compose mail") ); 158 topLevelWidget()->setCaption( tr("Compose mail") );
159} 159}
160void ComposeMail::setStatus( QString status ) 160void ComposeMail::setStatus( QString status )
161{ 161{
162 topLevelWidget()->setCaption( status ); 162 topLevelWidget()->setCaption( status );
163 QTimer::singleShot ( 10000, this, SLOT( clearStatus() ) ) ; 163 QTimer::singleShot ( 10000, this, SLOT( clearStatus() ) ) ;
164} 164}
165void ComposeMail::pickAddress( ) 165void ComposeMail::pickAddress( )
166{ 166{
167 167
168 QLineEdit *line = mPickLineEdit; 168 QLineEdit *line = mPickLineEdit;
169 if ( line == 0 ) 169 if ( line == 0 )
170 return; 170 return;
171#ifdef DESKTOP_VERSION 171#ifdef DESKTOP_VERSION
172 //qDebug(" ComposeMail::pickAddress "); 172 //qDebug(" ComposeMail::pickAddress ");
173 QString names ;//= AddressPicker::getNames(); 173 QString names ;//= AddressPicker::getNames();
174 174
175 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); 175 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this);
176 uint i=0; 176 uint i=0;
177 for (i=0; i < list.count(); i++) { 177 for (i=0; i < list.count(); i++) {
178 if ( !list[i].preferredEmail().isEmpty()) { 178 if ( !list[i].preferredEmail().isEmpty()) {
179 if ( ! names.isEmpty() ) 179 if ( ! names.isEmpty() )
180 names+= ","; 180 names+= ",";
181 names+= "\""+list[i].realName() +"\"<" +list[i].preferredEmail() +">"; 181 names+= "\""+list[i].realName() +"\"<" +list[i].preferredEmail() +">";
182 182
183 } 183 }
184 } 184 }
185 185
186 186
187 if ( line->text().isEmpty() ) { 187 if ( line->text().isEmpty() ) {
188 line->setText( names ); 188 line->setText( names );
189 } else if ( !names.isEmpty() ) { 189 } else if ( !names.isEmpty() ) {
190 line->setText( line->text() + ", " + names ); 190 line->setText( line->text() + ", " + names );
191 } 191 }
192#else 192#else
193 bool res = ExternalAppHandler::instance()->requestNameEmailUidListFromKAPI("QPE/Application/ompi", this->name() /* name is here the unique uid*/); 193 bool res = ExternalAppHandler::instance()->requestNameEmailUidListFromKAPI("QPE/Application/ompi", this->name() /* name is here the unique uid*/);
194 // the result should now arrive through method insertAttendees 194 // the result should now arrive through method insertAttendees
195#endif 195#endif
196} 196}
197//the map includes name/email pairs, that comes from Ka/Pi 197//the map includes name/email pairs, that comes from Ka/Pi
198void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameList,const QStringList& emailList,const QStringList& uidList) 198void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameList,const QStringList& emailList,const QStringList& uidList)
199{ 199{
200 qDebug("ComposeMail::insertAttendees "); 200 qDebug("ComposeMail::insertAttendees ");
201 raise(); 201 raise();
202 202
203 if ( mPickLineEdit == 0 ) { //whoami received 203 if ( mPickLineEdit == 0 ) { //whoami received
204 qDebug("returnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn "); 204 qDebug("returnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ");
205 QString defmail = uidList[0]; 205 QString defmail = uidList[0];
206 if ( emailList.count() == 0 ) 206 if ( emailList.count() == 0 )
207 QMessageBox::information( 0, tr( "Hint" ), 207 QMessageBox::information( 0, tr( "Hint" ),
208 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), 208 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ),
209 tr( "Ok" ) ); 209 tr( "Ok" ) );
210 if (defmail.length()!=0) { 210 if (defmail.length()!=0) {
211 fromBox->insertItem(defmail); 211 fromBox->insertItem(defmail);
212 } 212 }
213 QStringList::ConstIterator sit = emailList.begin(); 213 QStringList::ConstIterator sit = emailList.begin();
214 int pref = 0; 214 int pref = 0;
215 for (;sit!=emailList.end();++sit) { 215 for (;sit!=emailList.end();++sit) {
216 if ( (*sit)==defmail) 216 if ( (*sit)==defmail)
217 continue; 217 continue;
218 fromBox->insertItem((*sit)); 218 fromBox->insertItem((*sit));
219 } 219 }
220 senderNameEdit->setText(nameList[0]); 220 senderNameEdit->setText(nameList[0]);
221 return; 221 return;
222 } 222 }
223 QString names ; 223 QString names ;
224 QLineEdit *line = mPickLineEdit; 224 QLineEdit *line = mPickLineEdit;
225 if (uid == this->name()) 225 if (uid == this->name())
226 { 226 {
227 for ( int i = 0; i < nameList.count(); i++) 227 for ( int i = 0; i < nameList.count(); i++)
228 { 228 {
229 QString _name = nameList[i]; 229 QString _name = nameList[i];
230 QString _email = emailList[i]; 230 QString _email = emailList[i];
231 QString _uid = uidList[i]; 231 QString _uid = uidList[i];
232 if ( ! _email.isEmpty() ) { 232 if ( ! _email.isEmpty() ) {
233 if ( ! names.isEmpty() ) 233 if ( ! names.isEmpty() )
234 names+= ","; 234 names+= ",";
235 names+= "\""+_name +"\"<" +_email +">"; 235 names+= "\""+_name +"\"<" +_email +">";
236 } 236 }
237 } 237 }
238 } 238 }
239 if ( line->text().isEmpty() ) { 239 if ( line->text().isEmpty() ) {
240 line->setText( names ); 240 line->setText( names );
241 } else if ( !names.isEmpty() ) { 241 } else if ( !names.isEmpty() ) {
242 line->setText( line->text() + ", " + names ); 242 line->setText( line->text() + ", " + names );
243 } 243 }
244} 244}
245 245
246void ComposeMail::setTo( const QString & to ) 246void ComposeMail::setTo( const QString & to )
247{ 247{
248 toLine->setText( to ); 248 toLine->setText( to );
249} 249}
250 250
251void ComposeMail::setSubject( const QString & subject ) 251void ComposeMail::setSubject( const QString & subject )
252{ 252{
253 subjectLine->setText( subject ); 253 subjectLine->setText( subject );
254} 254}
255 255
256void ComposeMail::setInReplyTo( const QString & messageId ) 256void ComposeMail::setInReplyTo( const QString & messageId )
257{ 257{
258 m_replyid = messageId; 258 m_replyid = messageId;
259} 259}
260 260
261void ComposeMail::setMessage( const QString & text ) 261void ComposeMail::setMessage( const QString & text )
262{ 262{
263 message->setText( text ); 263 message->setText( text );
264} 264}
265 265
266 266
267void ComposeMail::pickAddressTo() 267void ComposeMail::pickAddressTo()
268{ 268{
269 mPickLineEdit = toLine; 269 mPickLineEdit = toLine;
270 pickAddress( ); 270 pickAddress( );
271} 271}
272 272
273void ComposeMail::pickAddressCC() 273void ComposeMail::pickAddressCC()
274{ 274{
275 mPickLineEdit = ccLine; 275 mPickLineEdit = ccLine;
276 pickAddress( ); 276 pickAddress( );
277} 277}
278 278
279void ComposeMail::pickAddressBCC() 279void ComposeMail::pickAddressBCC()
280{ 280{
281 mPickLineEdit = bccLine; 281 mPickLineEdit = bccLine;
282 pickAddress( ); 282 pickAddress( );
283} 283}
284 284
285void ComposeMail::pickAddressReply() 285void ComposeMail::pickAddressReply()
286{ 286{
287 mPickLineEdit = replyLine; 287 mPickLineEdit = replyLine;
288 pickAddress( ); 288 pickAddress( );
289} 289}
290 290
291void ComposeMail::fillValues( int ) 291void ComposeMail::fillValues( int )
292{ 292{
293#if 0 293#if 0
294 SMTPaccount *smtp = smtpAccounts.at( current ); 294 SMTPaccount *smtp = smtpAccounts.at( current );
295 ccLine->clear(); 295 ccLine->clear();
296 if ( smtp->getUseCC() ) { 296 if ( smtp->getUseCC() ) {
297 ccLine->setText( smtp->getCC() ); 297 ccLine->setText( smtp->getCC() );
298 } 298 }
299 bccLine->clear(); 299 bccLine->clear();
300 if ( smtp->getUseBCC() ) { 300 if ( smtp->getUseBCC() ) {
301 bccLine->setText( smtp->getBCC() ); 301 bccLine->setText( smtp->getBCC() );
302 } 302 }
303 replyLine->clear(); 303 replyLine->clear();
304 if ( smtp->getUseReply() ) { 304 if ( smtp->getUseReply() ) {
305 replyLine->setText( smtp->getReply() ); 305 replyLine->setText( smtp->getReply() );
306 } 306 }
307 sigMultiLine->setText( smtp->getSignature() ); 307 sigMultiLine->setText( smtp->getSignature() );
308#endif 308#endif
309} 309}
310 310
311void ComposeMail::slotAdjustColumns() 311void ComposeMail::slotAdjustColumns()
312{ 312{
313 int currPage = tabWidget->currentPageIndex(); 313 int currPage = tabWidget->currentPageIndex();
314 314
315 tabWidget->showPage( attachTab ); 315 tabWidget->showPage( attachTab );
316 attList->setColumnWidth( 0, attList->visibleWidth() - 80 ); 316 attList->setColumnWidth( 0, attList->visibleWidth() - 80 );
317 attList->setColumnWidth( 1, 80 ); 317 attList->setColumnWidth( 1, 80 );
318 318
319 tabWidget->setCurrentPage( currPage ); 319 tabWidget->setCurrentPage( currPage );
320} 320}
321 321
322void ComposeMail::addAttachment() 322void ComposeMail::addAttachment()
323{ 323{
324 QString lnk = KFileDialog::getOpenFileName( "", "Add Attachment", this ); 324 QString lnk = KFileDialog::getOpenFileName( "", "Add Attachment", this );
325 if ( !lnk.isEmpty() ) { 325 if ( !lnk.isEmpty() ) {
326 Attachment *att = new Attachment( lnk ); 326 Attachment *att = new Attachment( lnk );
327 (void) new AttachViewItem( attList, att ); 327 (void) new AttachViewItem( attList, att );
328 } 328 }
329} 329}
330 330
331void ComposeMail::removeAttachment() 331void ComposeMail::removeAttachment()
332{ 332{
333 if ( !attList->currentItem() ) { 333 if ( !attList->currentItem() ) {
334 QMessageBox::information( this, tr( "Error" ), 334 QMessageBox::information( this, tr( "Error" ),
335 tr( "<p>Please select a File.</p>" ), 335 tr( "<p>Please select a File.</p>" ),
336 tr( "Ok" ) ); 336 tr( "Ok" ) );
337 } else { 337 } else {
338 attList->takeItem( attList->currentItem() ); 338 attList->takeItem( attList->currentItem() );
339 } 339 }
340} 340}
341 341
342void ComposeMail::accept() 342void ComposeMail::accept()
343{ 343{
344 if ( smtpAccountBox->count() == 0 ) { 344 if ( smtpAccountBox->count() == 0 ) {
345 345
346 reject(); 346 reject();
347 return; 347 return;
348 } 348 }
349 349
350 if (! checkBoxLater->isChecked() ) { 350 if (! checkBoxLater->isChecked() ) {
351 int yesno = QMessageBox::warning(0,tr("Stop editing message"), 351 int yesno = QMessageBox::warning(0,tr("Stop editing message"),
352 tr("Send this message?"), 352 tr("Send this message?"),
353 tr("Yes"), 353 tr("Yes"),
354 tr("Cancel")); 354 tr("Cancel"));
355 355
356 if (yesno == 1) { 356 if (yesno == 1) {
357 return; 357 return;
358 } 358 }
359 } 359 }
360#if 0 360#if 0
361 odebug << "Sending Mail with " 361 odebug << "Sending Mail with "
362 << smtpAccounts.at( smtpAccountBox->currentItem() )->getAccountName() << oendl; 362 << smtpAccounts.at( smtpAccountBox->currentItem() )->getAccountName() << oendl;
363#endif 363#endif
364 Opie::Core::OSmartPointer<Mail> mail=new Mail; 364 Opie::Core::OSmartPointer<Mail> mail=new Mail;
365 365
366 SMTPaccount *smtp = smtpAccounts.at( smtpAccountBox->currentItem() ); 366 SMTPaccount *smtp = smtpAccounts.at( smtpAccountBox->currentItem() );
367 mail->setMail(fromBox->currentText()); 367 mail->setMail(fromBox->currentText());
368 368
369 if ( !toLine->text().isEmpty() ) { 369 if ( !toLine->text().isEmpty() ) {
370 mail->setTo( toLine->text() ); 370 mail->setTo( toLine->text() );
371 } else { 371 } else {
372 QMessageBox::warning(0,tr("Sending mail"), 372 QMessageBox::warning(0,tr("Sending mail"),
373 tr("No Receiver spezified" ) ); 373 tr("No Receiver spezified" ) );
374 return; 374 return;
375 } 375 }
376 376
377 mail->setName(senderNameEdit->text()); 377 mail->setName(senderNameEdit->text());
378 mail->setCC( ccLine->text() ); 378 mail->setCC( ccLine->text() );
379 mail->setBCC( bccLine->text() ); 379 mail->setBCC( bccLine->text() );
380 mail->setReply( replyLine->text() ); 380 mail->setReply( replyLine->text() );
381 mail->setSubject( subjectLine->text() ); 381 mail->setSubject( subjectLine->text() );
382 if (!m_replyid.isEmpty()) { 382 if (!m_replyid.isEmpty()) {
383 QStringList ids; 383 QStringList ids;
384 ids.append(m_replyid); 384 ids.append(m_replyid);
385 mail->setInreply(ids); 385 mail->setInreply(ids);
386 } 386 }
387 QString txt = message->text(); 387 QString txt = message->text();
388 if ( !sigMultiLine->text().isEmpty() ) { 388 if ( !sigMultiLine->text().isEmpty() ) {
389 txt.append( "\n--\n" ); 389 txt.append( "\n--\n" );
390 txt.append( sigMultiLine->text() ); 390 txt.append( sigMultiLine->text() );
391 } 391 }
392 mail->setMessage( txt ); 392 mail->setMessage( txt );
393 AttachViewItem *it = (AttachViewItem *) attList->firstChild(); 393 AttachViewItem *it = (AttachViewItem *) attList->firstChild();
394 while ( it != 0 ) { 394 while ( it != 0 ) {
395 mail->addAttachment( it->getAttachment() ); 395 mail->addAttachment( it->getAttachment() );
396 it = (AttachViewItem *) it->nextSibling(); 396 it = (AttachViewItem *) it->nextSibling();
397 } 397 }
398 398
399 SMTPwrapper wrapper( smtp ); 399 SMTPwrapper wrapper( smtp );
400 if ( wrapper.sendMail( mail,checkBoxLater->isChecked() ) ) 400 if ( wrapper.sendMail( mail,checkBoxLater->isChecked() ) )
401 setStatus( tr ("Mail sent")); 401 setStatus( tr ("Mail sent"));
402 else { 402 else {
403 setStatus( tr ("Error: Something went wrong. Nothing sent")); 403 setStatus( tr ("Error: Something went wrong. Nothing sent"));
404 return; 404 return;
405 } 405 }
406 406
407 407
408 QDialog::accept(); 408 QDialog::accept();
409} 409}
410 410
411void ComposeMail::reject() 411void ComposeMail::reject()
412{ 412{
413 //qDebug("ComposeMail::reject() "); 413 //qDebug("ComposeMail::reject() ");
414 int yesno = QMessageBox::warning(0,tr("Store message?"), 414 int yesno = QMessageBox::warning(0,tr("Store message?"),
415 tr("Store message into drafts?\n"), 415 tr("Store message into drafts?\n"),
416 tr("Yes"), 416 tr("Yes"),
417 tr("No")); 417 tr("No"));
418 418
419 //qDebug("button %d ", yesno); 419 //qDebug("button %d ", yesno);
420 if (yesno == 0) { 420 if (yesno == 0) {
421 if ( toLine->text().isEmpty() ) { 421 if ( toLine->text().isEmpty() ) {
422 QMessageBox::warning(0,tr("Sending mail"), 422 QMessageBox::warning(0,tr("Sending mail"),
423 tr("No Receiver spezified" ) ); 423 tr("No Receiver spezified" ) );
424 return; 424 return;
425 } 425 }
426 saveAsDraft(); 426 saveAsDraft();
427 } 427 }
428 if (yesno == 2) { 428 if (yesno == 2) {
429 qDebug("return "); 429 qDebug("return ");
430 return; 430 return;
431 } 431 }
432 QDialog::reject(); 432 QDialog::reject();
433} 433}
434 434
435ComposeMail::~ComposeMail() 435ComposeMail::~ComposeMail()
436{ 436{
437} 437}
438 438
439void ComposeMail::reEditMail(const RecMailP&current) 439void ComposeMail::reEditMail(const RecMailP&current)
440{ 440{
441 RecMailP data = current; 441 RecMailP data = current;
442 message->setText(data->Wrapper()->fetchBody(current)->Bodytext()); 442 message->setText(data->Wrapper()->fetchBody(current)->Bodytext());
443 subjectLine->setText( data->getSubject()); 443 subjectLine->setText( data->getSubject());
444 toLine->setText(data->To().join(",")); 444 toLine->setText(data->To().join(","));
445 ccLine->setText(data->CC().join(",")); 445 ccLine->setText(data->CC().join(","));
446 bccLine->setText(data->Bcc().join(",")); 446 bccLine->setText(data->Bcc().join(","));
447 replyLine->setText(data->Replyto()); 447 replyLine->setText(data->Replyto());
448} 448}
449 449
450AttachViewItem::AttachViewItem( QListView *parent, Attachment *att ) 450AttachViewItem::AttachViewItem( QListView *parent, Attachment *att )
451 : QListViewItem( parent ) 451 : QListViewItem( parent )
452{ 452{
453 attachment = att; 453 attachment = att;
454 if ( !attachment->getPixmap().isNull() ) 454 if ( !attachment->getPixmap().isNull() )
455 setPixmap( 0,attachment->getPixmap() ); 455 setPixmap( 0,attachment->getPixmap() );
456 setText( 0, att->getName().isEmpty() ? att->getFileName() : att->getName() ); 456 setText( 0, att->getName().isEmpty() ? att->getFileName() : att->getName() );
457 setText( 1, QString::number( att->getSize() ) ); 457 setText( 1, QString::number( att->getSize() ) );
458} 458}
459 459
diff --git a/kmicromail/composemail.h b/kmicromail/composemail.h
index 657f665..e20d9e1 100644
--- a/kmicromail/composemail.h
+++ b/kmicromail/composemail.h
@@ -1,90 +1,90 @@
1#ifndef COMPOSEMAIL_H 1#ifndef COMPOSEMAIL_H
2#define COMPOSEMAIL_H 2#define COMPOSEMAIL_H
3 3
4#include <qlineedit.h> 4#include <qlineedit.h>
5#include <qlistview.h> 5#include <qlistview.h>
6 6
7#include "composemailui.h" 7#include "composemailui.h"
8//#include "addresspickerui.h" 8//#include "addresspickerui.h"
9#include <libmailwrapper/settings.h> 9#include <libmailwrapper/settings.h>
10#include <libmailwrapper/mailwrapper.h> 10#include <libmailwrapper/mailwrapper.h>
11 11
12class RecMail; 12class RecMail;
13 13
14#include <opie2/osmartpointer.h> 14#include <opie2/osmartpointer.h>
15#if 0 15#if 0
16class AddressPicker : public AddressPickerUI 16class AddressPicker : public AddressPickerUI
17{ 17{
18 //Q_OBJECT 18 //Q_OBJECT
19 19
20public: 20public:
21 AddressPicker( QWidget *parent = 0, const char *name = 0, bool modal = false, WFlags flags = 0 ); 21 AddressPicker( QWidget *parent = 0, const char *name = 0, bool modal = false );
22 static QString getNames(); 22 static QString getNames();
23 23
24protected: 24protected:
25 QString selectedNames; 25 QString selectedNames;
26 void accept(); 26 void accept();
27 27
28}; 28};
29#endif 29#endif
30class RecMail; 30class RecMail;
31 31
32class ComposeMail : public ComposeMailUI 32class ComposeMail : public ComposeMailUI
33{ 33{
34 Q_OBJECT 34 Q_OBJECT
35 35
36public: 36public:
37 37
38 ComposeMail( Settings *s, QWidget *parent = 0, const char *name = 0, bool modal = false, WFlags flags = 0 ); 38 ComposeMail( Settings *s, QWidget *parent = 0, const char *name = 0, bool modal = false );
39 virtual ~ComposeMail(); 39 virtual ~ComposeMail();
40 40
41 void reEditMail(const Opie::Core::OSmartPointer<RecMail>&current); 41 void reEditMail(const Opie::Core::OSmartPointer<RecMail>&current);
42 42
43public slots: 43public slots:
44 void slotAdjustColumns(); 44 void slotAdjustColumns();
45 45
46 void setTo( const QString & to ); 46 void setTo( const QString & to );
47 void setSubject( const QString & subject ); 47 void setSubject( const QString & subject );
48 void setInReplyTo( const QString & messageId ); 48 void setInReplyTo( const QString & messageId );
49 void setMessage( const QString & text ); 49 void setMessage( const QString & text );
50 void insertAttendees(const QString&, const QStringList& namelist, const QStringList& emaillist, const QStringList& uidlist); 50 void insertAttendees(const QString&, const QStringList& namelist, const QStringList& emaillist, const QStringList& uidlist);
51 51
52 52
53protected slots: 53protected slots:
54 void accept(); 54 void accept();
55 void reject(); 55 void reject();
56 56
57private slots: 57private slots:
58 void fillValues( int current ); 58 void fillValues( int current );
59 void pickAddress(); 59 void pickAddress();
60 void pickAddressTo(); 60 void pickAddressTo();
61 void pickAddressCC(); 61 void pickAddressCC();
62 void pickAddressBCC(); 62 void pickAddressBCC();
63 void pickAddressReply(); 63 void pickAddressReply();
64 void saveAsDraft(); 64 void saveAsDraft();
65 void addAttachment(); 65 void addAttachment();
66 void removeAttachment(); 66 void removeAttachment();
67 void clearStatus(); 67 void clearStatus();
68 void setStatus( QString ); 68 void setStatus( QString );
69 69
70protected: 70protected:
71 QLineEdit* mPickLineEdit; 71 QLineEdit* mPickLineEdit;
72 Opie::Core::OSmartPointer<Mail> mMail; 72 Opie::Core::OSmartPointer<Mail> mMail;
73 Settings *settings; 73 Settings *settings;
74 QList<SMTPaccount> smtpAccounts; 74 QList<SMTPaccount> smtpAccounts;
75 QString m_replyid; 75 QString m_replyid;
76 bool warnAttach; 76 bool warnAttach;
77}; 77};
78 78
79class AttachViewItem : public QListViewItem 79class AttachViewItem : public QListViewItem
80{ 80{
81public: 81public:
82 AttachViewItem( QListView *parent, Attachment *att ); 82 AttachViewItem( QListView *parent, Attachment *att );
83 Attachment *getAttachment() { return attachment; } 83 Attachment *getAttachment() { return attachment; }
84 84
85private: 85private:
86 Attachment *attachment; 86 Attachment *attachment;
87 87
88}; 88};
89 89
90#endif 90#endif
diff --git a/kmicromail/opiemail.cpp b/kmicromail/opiemail.cpp
index a1c5645..0c581c0 100644
--- a/kmicromail/opiemail.cpp
+++ b/kmicromail/opiemail.cpp
@@ -1,425 +1,425 @@
1// CHANGED 2004-09-31 Lutz Rogowski 1// CHANGED 2004-09-31 Lutz Rogowski
2// CHANGED 2004-08-06 Lutz Rogowski 2// CHANGED 2004-08-06 Lutz Rogowski
3 3
4#include "settingsdialog.h" 4#include "settingsdialog.h"
5#include "opiemail.h" 5#include "opiemail.h"
6#include "editaccounts.h" 6#include "editaccounts.h"
7#include "composemail.h" 7#include "composemail.h"
8#include "mailistviewitem.h" 8#include "mailistviewitem.h"
9#include "viewmail.h" 9#include "viewmail.h"
10#include "selectstore.h" 10#include "selectstore.h"
11#include "selectsmtp.h" 11#include "selectsmtp.h"
12 12
13#include <qmessagebox.h> 13#include <qmessagebox.h>
14#include <libkdepim/externalapphandler.h> 14#include <libkdepim/externalapphandler.h>
15 15
16#include <qpe/qpeapplication.h> 16#include <qpe/qpeapplication.h>
17#include <libmailwrapper/smtpwrapper.h> 17#include <libmailwrapper/smtpwrapper.h>
18#include <libmailwrapper/mailtypes.h> 18#include <libmailwrapper/mailtypes.h>
19#include <libmailwrapper/abstractmail.h> 19#include <libmailwrapper/abstractmail.h>
20/* OPIE */ 20/* OPIE */
21//#include <qpe/resource.h> 21//#include <qpe/resource.h>
22//#include <qpe/qpeapplication.h> 22//#include <qpe/qpeapplication.h>
23 23
24/* QT */ 24/* QT */
25 25
26using namespace Opie::Core; 26//using namespace Opie::Core;
27 27
28OpieMail::OpieMail( QWidget *parent, const char *name, WFlags flags ) 28OpieMail::OpieMail( QWidget *parent, const char *name )
29 : MainWindow( parent, name) //, WStyle_ContextHelp ) 29 : MainWindow( parent, name) //, WStyle_ContextHelp )
30{ 30{
31 settings = new Settings(); 31 settings = new Settings();
32 32
33 folderView->populate( settings->getAccounts() ); 33 folderView->populate( settings->getAccounts() );
34 34
35} 35}
36 36
37OpieMail::~OpieMail() 37OpieMail::~OpieMail()
38{ 38{
39 if (settings) delete settings; 39 if (settings) delete settings;
40} 40}
41 41
42void OpieMail::appMessage(const QCString &msg, const QByteArray &data) 42void OpieMail::appMessage(const QCString &msg, const QByteArray &data)
43{ 43{
44 44
45} 45}
46#include <stdlib.h> 46#include <stdlib.h>
47void OpieMail::message(const QCString &msg, const QByteArray &data) 47void OpieMail::message(const QCString &msg, const QByteArray &data)
48{ 48{
49 // copied from old mail2 49 // copied from old mail2
50 static int ii = 0; 50 static int ii = 0;
51 qDebug("call ############################# %d ", ii); 51 qDebug("call ############################# %d ", ii);
52 // block second call 52 // block second call
53 if ( ii < 2 ) { 53 if ( ii < 2 ) {
54 //++ii; 54 //++ii;
55 if ( ii > 1 ) { 55 if ( ii > 1 ) {
56 qDebug("qcop call blocked "); 56 qDebug("qcop call blocked ");
57 //return; 57 //return;
58 } 58 }
59 } 59 }
60 ++ii; 60 ++ii;
61 //qDebug("KM:appMessage %d *%s* %x", ii, msg.data(), this); 61 //qDebug("KM:appMessage %d *%s* %x", ii, msg.data(), this);
62 if (msg == "writeMail(QString,QString)") 62 if (msg == "writeMail(QString,QString)")
63 { 63 {
64 QDataStream stream(data,IO_ReadOnly); 64 QDataStream stream(data,IO_ReadOnly);
65 QString name, email; 65 QString name, email;
66 stream >> name >> email; 66 stream >> name >> email;
67 // removing the whitespaces at beginning and end is needed! 67 // removing the whitespaces at beginning and end is needed!
68 slotwriteMail(name.stripWhiteSpace(),email.stripWhiteSpace()); 68 slotwriteMail(name.stripWhiteSpace(),email.stripWhiteSpace());
69 } 69 }
70 else if (msg == "newMail()") 70 else if (msg == "newMail()")
71 { 71 {
72 slotComposeMail(); 72 slotComposeMail();
73 } 73 }
74 else if (msg == "newMail(QString)") 74 else if (msg == "newMail(QString)")
75 { 75 {
76 QDataStream stream(data,IO_ReadOnly); 76 QDataStream stream(data,IO_ReadOnly);
77 QString nameemail; 77 QString nameemail;
78 stream >> nameemail; 78 stream >> nameemail;
79 // the format is 79 // the format is
80 // NAME <EMAIL>:SUBJECT 80 // NAME <EMAIL>:SUBJECT
81 //qDebug("message %s ", nameemail.latin1()); 81 //qDebug("message %s ", nameemail.latin1());
82 82
83 slotwriteMail2( nameemail ); 83 slotwriteMail2( nameemail );
84 } else 84 } else
85 ExternalAppHandler::instance()->appMessage ( msg, data); 85 ExternalAppHandler::instance()->appMessage ( msg, data);
86} 86}
87void OpieMail::slotwriteMail2(const QString& namemail ) 87void OpieMail::slotwriteMail2(const QString& namemail )
88{ 88{
89 // qDebug("OpieMail::slotwriteMail2 "); 89 // qDebug("OpieMail::slotwriteMail2 ");
90 qApp->processEvents(); 90 qApp->processEvents();
91 ComposeMail compose( settings, this, 0, true ); 91 ComposeMail compose( settings, this, 0, true );
92 if ( !namemail.isEmpty() ) { 92 if ( !namemail.isEmpty() ) {
93 QString to = namemail; 93 QString to = namemail;
94 if ( namemail.find( " <") > 1 ) { 94 if ( namemail.find( " <") > 1 ) {
95 to = "\"" +to.replace( QRegExp( " <"), "\" <") ; 95 to = "\"" +to.replace( QRegExp( " <"), "\" <") ;
96 } else 96 } else
97 if ( namemail.find( "<") > 1 ) { 97 if ( namemail.find( "<") > 1 ) {
98 to = "\"" +to.replace( QRegExp( "<"), "\" <") ; 98 to = "\"" +to.replace( QRegExp( "<"), "\" <") ;
99 } 99 }
100 int sub = to.find( ">:"); 100 int sub = to.find( ">:");
101 if ( sub > 0 ) { 101 if ( sub > 0 ) {
102 compose.setTo( to.left(sub+1) ); 102 compose.setTo( to.left(sub+1) );
103 compose.setSubject( to.mid(sub+2) ); 103 compose.setSubject( to.mid(sub+2) );
104 } else 104 } else
105 compose.setTo( to ); 105 compose.setTo( to );
106 } 106 }
107 compose.slotAdjustColumns(); 107 compose.slotAdjustColumns();
108 compose.showMaximized(); 108 compose.showMaximized();
109 compose.exec(); 109 compose.exec();
110 raise(); 110 raise();
111 //qDebug("retttich "); 111 //qDebug("retttich ");
112} 112}
113void OpieMail::slotwriteMail(const QString&name,const QString&email) 113void OpieMail::slotwriteMail(const QString&name,const QString&email)
114{ 114{
115 // qDebug("OpieMail::slotwriteMail "); 115 // qDebug("OpieMail::slotwriteMail ");
116 ComposeMail compose( settings, this, 0, true , WStyle_ContextHelp ); 116 ComposeMail compose( settings, this, 0, true );
117 if (!email.isEmpty()) 117 if (!email.isEmpty())
118 { 118 {
119 if (!name.isEmpty()) 119 if (!name.isEmpty())
120 { 120 {
121 compose.setTo("\"" + name + "\"" + " " + "<"+ email + ">"); 121 compose.setTo("\"" + name + "\"" + " " + "<"+ email + ">");
122 } 122 }
123 else 123 else
124 { 124 {
125 compose.setTo(email); 125 compose.setTo(email);
126 } 126 }
127 } 127 }
128 compose.slotAdjustColumns(); 128 compose.slotAdjustColumns();
129 compose.showMaximized(); 129 compose.showMaximized();
130 compose.exec(); 130 compose.exec();
131} 131}
132 132
133void OpieMail::slotComposeMail() 133void OpieMail::slotComposeMail()
134{ 134{
135 slotwriteMail2( QString () ); 135 slotwriteMail2( QString () );
136 //slotwriteMail(0l,0l); 136 //slotwriteMail(0l,0l);
137} 137}
138 138
139void OpieMail::slotSendQueued() 139void OpieMail::slotSendQueued()
140{ 140{
141 SMTPaccount *smtp = 0; 141 SMTPaccount *smtp = 0;
142 142
143 QList<Account> list = settings->getAccounts(); 143 QList<Account> list = settings->getAccounts();
144 QList<SMTPaccount> smtpList; 144 QList<SMTPaccount> smtpList;
145 smtpList.setAutoDelete(false); 145 smtpList.setAutoDelete(false);
146 Account *it; 146 Account *it;
147 for ( it = list.first(); it; it = list.next() ) 147 for ( it = list.first(); it; it = list.next() )
148 { 148 {
149 if ( it->getType() == MAILLIB::A_SMTP ) 149 if ( it->getType() == MAILLIB::A_SMTP )
150 { 150 {
151 smtp = static_cast<SMTPaccount *>(it); 151 smtp = static_cast<SMTPaccount *>(it);
152 smtpList.append(smtp); 152 smtpList.append(smtp);
153 } 153 }
154 } 154 }
155 if (smtpList.count()==0) 155 if (smtpList.count()==0)
156 { 156 {
157 QMessageBox::information(0,tr("Info"),tr("Define a smtp account first!\n")); 157 QMessageBox::information(0,tr("Info"),tr("Define a smtp account first!\n"));
158 return; 158 return;
159 } 159 }
160 if (smtpList.count()==1) 160 if (smtpList.count()==1)
161 { 161 {
162 smtp = smtpList.at(0); 162 smtp = smtpList.at(0);
163 } 163 }
164 else 164 else
165 { 165 {
166 smtp = 0; 166 smtp = 0;
167 selectsmtp selsmtp; 167 selectsmtp selsmtp;
168 selsmtp.setSelectionlist(&smtpList); 168 selsmtp.setSelectionlist(&smtpList);
169 selsmtp.showMaximized(); 169 selsmtp.showMaximized();
170 if ( selsmtp.exec() == QDialog::Accepted ) 170 if ( selsmtp.exec() == QDialog::Accepted )
171 { 171 {
172 smtp = selsmtp.selected_smtp(); 172 smtp = selsmtp.selected_smtp();
173 } 173 }
174 } 174 }
175 if (smtp) 175 if (smtp)
176 { 176 {
177 SMTPwrapper * wrap = new SMTPwrapper(smtp); 177 SMTPwrapper * wrap = new SMTPwrapper(smtp);
178 if ( wrap->flushOutbox() ) 178 if ( wrap->flushOutbox() )
179 { 179 {
180 QMessageBox::information(0,tr("Info"),tr("Mail queue flushed")); 180 QMessageBox::information(0,tr("Info"),tr("Mail queue flushed"));
181 } 181 }
182 delete wrap; 182 delete wrap;
183 } 183 }
184} 184}
185 185
186void OpieMail::slotSearchMails() 186void OpieMail::slotSearchMails()
187{ 187{
188 qDebug("OpieMail::slotSearchMails():not implemented "); 188 qDebug("OpieMail::slotSearchMails():not implemented ");
189} 189}
190 190
191void OpieMail::slotEditSettings() 191void OpieMail::slotEditSettings()
192{ 192{
193 SettingsDialog settingsDialog( this, 0, true, WStyle_ContextHelp ); 193 SettingsDialog settingsDialog( this, 0, true, WStyle_ContextHelp );
194 settingsDialog.showMaximized(); 194 settingsDialog.showMaximized();
195 settingsDialog.exec(); 195 settingsDialog.exec();
196} 196}
197 197
198void OpieMail::slotEditAccounts() 198void OpieMail::slotEditAccounts()
199{ 199{
200 EditAccounts eaDialog( settings, this, 0, true, WStyle_ContextHelp ); 200 EditAccounts eaDialog( settings, this, 0, true, WStyle_ContextHelp );
201 eaDialog.slotAdjustColumns(); 201 eaDialog.slotAdjustColumns();
202 eaDialog.showMaximized(); 202 eaDialog.showMaximized();
203 eaDialog.exec(); 203 eaDialog.exec();
204 if ( settings ) delete settings; 204 if ( settings ) delete settings;
205 settings = new Settings(); 205 settings = new Settings();
206 206
207 folderView->populate( settings->getAccounts() ); 207 folderView->populate( settings->getAccounts() );
208} 208}
209 209
210void OpieMail::displayMail() 210void OpieMail::displayMail()
211{ 211{
212 QListViewItem*item = mailView->currentItem(); 212 QListViewItem*item = mailView->currentItem();
213 if (!item) return; 213 if (!item) return;
214 RecMailP mail = ((MailListViewItem*)item)->data(); 214 RecMailP mail = ((MailListViewItem*)item)->data();
215 RecBodyP body = folderView->fetchBody(mail); 215 RecBodyP body = folderView->fetchBody(mail);
216 ViewMail readMail( this,"", Qt::WType_Modal | WStyle_ContextHelp ); 216 ViewMail readMail( this,"", Qt::WType_Modal | WStyle_ContextHelp );
217 readMail.setBody( body ); 217 readMail.setBody( body );
218 readMail.setMail( mail ); 218 readMail.setMail( mail );
219 readMail.showMaximized(); 219 readMail.showMaximized();
220 readMail.exec(); 220 readMail.exec();
221 221
222 if ( readMail.deleted ) 222 if ( readMail.deleted )
223 { 223 {
224 folderView->refreshCurrent(); 224 folderView->refreshCurrent();
225 } 225 }
226 else 226 else
227 { 227 {
228 ( (MailListViewItem*)item )->setPixmap( 0, QPixmap() ); 228 ( (MailListViewItem*)item )->setPixmap( 0, QPixmap() );
229 } 229 }
230} 230}
231 231
232void OpieMail::slotDeleteMail() 232void OpieMail::slotDeleteMail()
233{ 233{
234 if (!mailView->currentItem()) return; 234 if (!mailView->currentItem()) return;
235 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data(); 235 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data();
236 if ( QMessageBox::warning(this, tr("Delete Mail"), QString( tr("<p>Do you really want to delete this mail? <br><br>" ) + mail->getFrom() + " - " + mail->getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) 236 if ( QMessageBox::warning(this, tr("Delete Mail"), QString( tr("<p>Do you really want to delete this mail? <br><br>" ) + mail->getFrom() + " - " + mail->getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
237 { 237 {
238 mail->Wrapper()->deleteMail( mail ); 238 mail->Wrapper()->deleteMail( mail );
239 folderView->refreshCurrent(); 239 folderView->refreshCurrent();
240 } 240 }
241} 241}
242void OpieMail::slotDeleteAllMail() 242void OpieMail::slotDeleteAllMail()
243{ 243{
244 244
245 QValueList<RecMailP> t; 245 QValueList<RecMailP> t;
246 if ( QMessageBox::warning(this, tr("Delete All Mails"), tr("Do you really want to delete\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) 246 if ( QMessageBox::warning(this, tr("Delete All Mails"), tr("Do you really want to delete\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
247 { 247 {
248 MailListViewItem* item = (MailListViewItem*)mailView->firstChild (); 248 MailListViewItem* item = (MailListViewItem*)mailView->firstChild ();
249 while ( item ) { 249 while ( item ) {
250 if ( item->isSelected() ) { 250 if ( item->isSelected() ) {
251 t.append( item->data() ); 251 t.append( item->data() );
252 } 252 }
253 item = (MailListViewItem*)item->nextSibling(); 253 item = (MailListViewItem*)item->nextSibling();
254 } 254 }
255 } 255 }
256 else 256 else
257 return; 257 return;
258 if ( t.count() == 0 ) 258 if ( t.count() == 0 )
259 return; 259 return;
260 RecMailP mail = t.first(); 260 RecMailP mail = t.first();
261 mail->Wrapper()->deleteMailList(t); 261 mail->Wrapper()->deleteMailList(t);
262 folderView->refreshCurrent(); 262 folderView->refreshCurrent();
263 263
264 264
265} 265}
266void OpieMail::clearSelection() 266void OpieMail::clearSelection()
267{ 267{
268 mailView->clearSelection(); 268 mailView->clearSelection();
269 269
270} 270}
271 271
272void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int ) 272void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int )
273{ 273{
274 if (!mailView->currentItem()) return; 274 if (!mailView->currentItem()) return;
275 MAILLIB::ATYPE mailtype = ((MailListViewItem*)mailView->currentItem() )->wrapperType(); 275 MAILLIB::ATYPE mailtype = ((MailListViewItem*)mailView->currentItem() )->wrapperType();
276 /* just the RIGHT button - or hold on pda */ 276 /* just the RIGHT button - or hold on pda */
277 if (button!=2) {return;} 277 if (button!=2) {return;}
278 if (!item) return; 278 if (!item) return;
279 QPopupMenu *m = new QPopupMenu(0); 279 QPopupMenu *m = new QPopupMenu(0);
280 if (m) 280 if (m)
281 { 281 {
282 if (mailtype==MAILLIB::A_NNTP) { 282 if (mailtype==MAILLIB::A_NNTP) {
283 m->insertItem(tr("Read this posting"),this,SLOT(displayMail())); 283 m->insertItem(tr("Read this posting"),this,SLOT(displayMail()));
284// m->insertItem(tr("Copy this posting"),this,SLOT(slotMoveCopyMail())); 284// m->insertItem(tr("Copy this posting"),this,SLOT(slotMoveCopyMail()));
285 } else { 285 } else {
286 if (folderView->currentisDraft()) { 286 if (folderView->currentisDraft()) {
287 m->insertItem(tr("Edit this mail"),this,SLOT(reEditMail())); 287 m->insertItem(tr("Edit this mail"),this,SLOT(reEditMail()));
288 } 288 }
289 m->insertItem(tr("Read this mail"),this,SLOT(displayMail())); 289 m->insertItem(tr("Read this mail"),this,SLOT(displayMail()));
290 m->insertItem(tr("Move/Copy this mail"),this,SLOT(slotMoveCopyMail())); 290 m->insertItem(tr("Move/Copy this mail"),this,SLOT(slotMoveCopyMail()));
291 m->insertItem(tr("Delete this mail"),this,SLOT(slotDeleteMail())); 291 m->insertItem(tr("Delete this mail"),this,SLOT(slotDeleteMail()));
292 m->insertSeparator(); 292 m->insertSeparator();
293 m->insertItem(tr("Move/Copy all selected mail"),this,SLOT(slotMoveCopyAllMail())); 293 m->insertItem(tr("Move/Copy all selected mail"),this,SLOT(slotMoveCopyAllMail()));
294 m->insertItem(tr("Delete all selected mails"),this,SLOT(slotDeleteAllMail())); 294 m->insertItem(tr("Delete all selected mails"),this,SLOT(slotDeleteAllMail()));
295 m->insertItem(tr("Clear selection"),this,SLOT(clearSelection())); 295 m->insertItem(tr("Clear selection"),this,SLOT(clearSelection()));
296 } 296 }
297 m->setFocus(); 297 m->setFocus();
298 m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) ); 298 m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) );
299 delete m; 299 delete m;
300 } 300 }
301} 301}
302 302
303void OpieMail::slotShowFolders( bool show ) 303void OpieMail::slotShowFolders( bool show )
304{ 304{
305 if ( show && folderView->isHidden() ) 305 if ( show && folderView->isHidden() )
306 { 306 {
307 folderView->show(); 307 folderView->show();
308 } 308 }
309 else if ( !show && !folderView->isHidden() ) 309 else if ( !show && !folderView->isHidden() )
310 { 310 {
311 folderView->hide(); 311 folderView->hide();
312 } 312 }
313} 313}
314 314
315void OpieMail::refreshMailView(const QValueList<RecMailP>&list) 315void OpieMail::refreshMailView(const QValueList<RecMailP>&list)
316{ 316{
317 MailListViewItem*item = 0; 317 MailListViewItem*item = 0;
318 mailView->clear(); 318 mailView->clear();
319 319
320 QValueList<RecMailP>::ConstIterator it; 320 QValueList<RecMailP>::ConstIterator it;
321 for (it = list.begin(); it != list.end();++it) 321 for (it = list.begin(); it != list.end();++it)
322 { 322 {
323 item = new MailListViewItem(mailView,item); 323 item = new MailListViewItem(mailView,item);
324 item->storeData((*it)); 324 item->storeData((*it));
325 item->showEntry(); 325 item->showEntry();
326 } 326 }
327} 327}
328 328
329void OpieMail::mailLeftClicked( QListViewItem *item ) 329void OpieMail::mailLeftClicked( QListViewItem *item )
330{ 330{
331 mailView->clearSelection(); 331 mailView->clearSelection();
332 /* just LEFT button - or tap with stylus on pda */ 332 /* just LEFT button - or tap with stylus on pda */
333 //if (button!=1) return; 333 //if (button!=1) return;
334 if (!item) return; 334 if (!item) return;
335 if (folderView->currentisDraft()) { 335 if (folderView->currentisDraft()) {
336 reEditMail(); 336 reEditMail();
337 } else { 337 } else {
338 displayMail(); 338 displayMail();
339 } 339 }
340} 340}
341 341
342void OpieMail::slotMoveCopyMail() 342void OpieMail::slotMoveCopyMail()
343{ 343{
344 if (!mailView->currentItem()) return; 344 if (!mailView->currentItem()) return;
345 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data(); 345 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data();
346 AbstractMail*targetMail = 0; 346 AbstractMail*targetMail = 0;
347 QString targetFolder = ""; 347 QString targetFolder = "";
348 Selectstore sels; 348 Selectstore sels;
349 folderView->setupFolderselect(&sels); 349 folderView->setupFolderselect(&sels);
350 if (!sels.exec()) return; 350 if (!sels.exec()) return;
351 targetMail = sels.currentMail(); 351 targetMail = sels.currentMail();
352 targetFolder = sels.currentFolder(); 352 targetFolder = sels.currentFolder();
353 if ( (mail->Wrapper()==targetMail && mail->getMbox()==targetFolder) || 353 if ( (mail->Wrapper()==targetMail && mail->getMbox()==targetFolder) ||
354 targetFolder.isEmpty()) 354 targetFolder.isEmpty())
355 { 355 {
356 return; 356 return;
357 } 357 }
358 if (sels.newFolder() && !targetMail->createMbox(targetFolder)) 358 if (sels.newFolder() && !targetMail->createMbox(targetFolder))
359 { 359 {
360 QMessageBox::critical(0,tr("Error creating new Folder"), 360 QMessageBox::critical(0,tr("Error creating new Folder"),
361 tr("<center>Error while creating<br>new folder - breaking.</center>")); 361 tr("<center>Error while creating<br>new folder - breaking.</center>"));
362 return; 362 return;
363 } 363 }
364 sels.hide(); 364 sels.hide();
365 qApp->processEvents(); 365 qApp->processEvents();
366 // qDebug("hiding sels "); 366 // qDebug("hiding sels ");
367 mail->Wrapper()->mvcpMail(mail,targetFolder,targetMail,sels.moveMails()); 367 mail->Wrapper()->mvcpMail(mail,targetFolder,targetMail,sels.moveMails());
368 folderView->refreshCurrent(); 368 folderView->refreshCurrent();
369} 369}
370 370
371void OpieMail::slotMoveCopyAllMail() 371void OpieMail::slotMoveCopyAllMail()
372{ 372{
373 373
374 if (!mailView->currentItem()) return; 374 if (!mailView->currentItem()) return;
375 QValueList<RecMailP> t; 375 QValueList<RecMailP> t;
376 // if ( QMessageBox::warning(this, tr("Move/Copy all selected mails"), tr("Do you really want to copy/move\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) 376 // if ( QMessageBox::warning(this, tr("Move/Copy all selected mails"), tr("Do you really want to copy/move\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
377 { 377 {
378 MailListViewItem* item = (MailListViewItem*)mailView->firstChild (); 378 MailListViewItem* item = (MailListViewItem*)mailView->firstChild ();
379 while ( item ) { 379 while ( item ) {
380 if ( item->isSelected() ) { 380 if ( item->isSelected() ) {
381 t.append( item->data() ); 381 t.append( item->data() );
382 } 382 }
383 item = (MailListViewItem*)item->nextSibling(); 383 item = (MailListViewItem*)item->nextSibling();
384 } 384 }
385 } 385 }
386 // else 386 // else
387 // return; 387 // return;
388 if ( t.count() == 0 ) 388 if ( t.count() == 0 )
389 return; 389 return;
390 RecMailP mail = t.first(); 390 RecMailP mail = t.first();
391 AbstractMail*targetMail = 0; 391 AbstractMail*targetMail = 0;
392 QString targetFolder = ""; 392 QString targetFolder = "";
393 Selectstore sels; 393 Selectstore sels;
394 folderView->setupFolderselect(&sels); 394 folderView->setupFolderselect(&sels);
395 if (!sels.exec()) return; 395 if (!sels.exec()) return;
396 targetMail = sels.currentMail(); 396 targetMail = sels.currentMail();
397 targetFolder = sels.currentFolder(); 397 targetFolder = sels.currentFolder();
398 if ( (mail->Wrapper()==targetMail && mail->getMbox()==targetFolder) || 398 if ( (mail->Wrapper()==targetMail && mail->getMbox()==targetFolder) ||
399 targetFolder.isEmpty()) 399 targetFolder.isEmpty())
400 { 400 {
401 return; 401 return;
402 } 402 }
403 if (sels.newFolder() && !targetMail->createMbox(targetFolder)) 403 if (sels.newFolder() && !targetMail->createMbox(targetFolder))
404 { 404 {
405 QMessageBox::critical(0,tr("Error creating new Folder"), 405 QMessageBox::critical(0,tr("Error creating new Folder"),
406 tr("<center>Error while creating<br>new folder - breaking.</center>")); 406 tr("<center>Error while creating<br>new folder - breaking.</center>"));
407 return; 407 return;
408 } 408 }
409 sels.hide(); 409 sels.hide();
410 qApp->processEvents(); 410 qApp->processEvents();
411 //qDebug("hiding sels "); 411 //qDebug("hiding sels ");
412 mail->Wrapper()->mvcpMailList(t,targetFolder,targetMail,sels.moveMails()); 412 mail->Wrapper()->mvcpMailList(t,targetFolder,targetMail,sels.moveMails());
413 folderView->refreshCurrent(); 413 folderView->refreshCurrent();
414} 414}
415 415
416void OpieMail::reEditMail() 416void OpieMail::reEditMail()
417{ 417{
418 if (!mailView->currentItem()) return; 418 if (!mailView->currentItem()) return;
419 419
420 ComposeMail compose( settings, this, 0, true , WStyle_ContextHelp ); 420 ComposeMail compose( settings, this, 0, true );
421 compose.reEditMail(((MailListViewItem*)mailView->currentItem() )->data()); 421 compose.reEditMail(((MailListViewItem*)mailView->currentItem() )->data());
422 compose.slotAdjustColumns(); 422 compose.slotAdjustColumns();
423 compose.showMaximized(); 423 compose.showMaximized();
424 compose.exec(); 424 compose.exec();
425} 425}
diff --git a/kmicromail/opiemail.h b/kmicromail/opiemail.h
index 934f232..7434e59 100644
--- a/kmicromail/opiemail.h
+++ b/kmicromail/opiemail.h
@@ -1,48 +1,48 @@
1// CHANGED 2004-09-31 Lutz Rogowski 1// CHANGED 2004-09-31 Lutz Rogowski
2#ifndef OPIEMAIL_H 2#ifndef OPIEMAIL_H
3#define OPIEMAIL_H 3#define OPIEMAIL_H
4 4
5#include "mainwindow.h" 5#include "mainwindow.h"
6#include <libmailwrapper/settings.h> 6#include <libmailwrapper/settings.h>
7 7
8#include <opie2/osmartpointer.h> 8#include <opie2/osmartpointer.h>
9#include <libmailwrapper/mailtypes.h> 9#include <libmailwrapper/mailtypes.h>
10 10
11class OpieMail : public MainWindow 11class OpieMail : public MainWindow
12{ 12{
13 Q_OBJECT 13 Q_OBJECT
14 14
15public: 15public:
16 OpieMail( QWidget *parent = 0, const char *name = 0, WFlags flags = 0 ); 16 OpieMail( QWidget *parent = 0, const char *name = 0 );
17 virtual ~OpieMail(); 17 virtual ~OpieMail();
18 static QString appName() { return QString::fromLatin1("opiemail"); } 18 static QString appName() { return QString::fromLatin1("kopiemail"); }
19 19
20public slots: 20public slots:
21 virtual void slotwriteMail(const QString&name,const QString&email); 21 virtual void slotwriteMail(const QString&name,const QString&email);
22 virtual void slotwriteMail2(const QString&nameemail); 22 virtual void slotwriteMail2(const QString&nameemail);
23 virtual void slotComposeMail(); 23 virtual void slotComposeMail();
24 virtual void appMessage(const QCString &msg, const QByteArray &data); 24 virtual void appMessage(const QCString &msg, const QByteArray &data);
25 virtual void message(const QCString &msg, const QByteArray &data); 25 virtual void message(const QCString &msg, const QByteArray &data);
26protected slots: 26protected slots:
27 virtual void slotSendQueued(); 27 virtual void slotSendQueued();
28 virtual void slotSearchMails(); 28 virtual void slotSearchMails();
29 virtual void slotEditSettings(); 29 virtual void slotEditSettings();
30 virtual void slotEditAccounts(); 30 virtual void slotEditAccounts();
31 virtual void displayMail(); 31 virtual void displayMail();
32 virtual void slotDeleteMail(); 32 virtual void slotDeleteMail();
33 virtual void slotDeleteAllMail(); 33 virtual void slotDeleteAllMail();
34 virtual void mailHold(int, QListViewItem *,const QPoint&,int); 34 virtual void mailHold(int, QListViewItem *,const QPoint&,int);
35 virtual void slotShowFolders( bool show ); 35 virtual void slotShowFolders( bool show );
36 virtual void refreshMailView(const QValueList<RecMailP>&); 36 virtual void refreshMailView(const QValueList<RecMailP>&);
37 virtual void mailLeftClicked( QListViewItem * ); 37 virtual void mailLeftClicked( QListViewItem * );
38 virtual void slotMoveCopyMail(); 38 virtual void slotMoveCopyMail();
39 virtual void slotMoveCopyAllMail(); 39 virtual void slotMoveCopyAllMail();
40 virtual void reEditMail(); 40 virtual void reEditMail();
41 void clearSelection(); 41 void clearSelection();
42 42
43private: 43private:
44 Settings *settings; 44 Settings *settings;
45 45
46}; 46};
47 47
48#endif 48#endif