summaryrefslogtreecommitdiffabout
path: root/kmicromail
Unidiff
Diffstat (limited to 'kmicromail') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/composemail.cpp21
-rw-r--r--kmicromail/composemail.h1
-rw-r--r--kmicromail/composemailui.ui74
-rw-r--r--kmicromail/editaccounts.cpp19
-rw-r--r--kmicromail/editaccounts.h1
-rw-r--r--kmicromail/libmailwrapper/settings.cpp46
-rw-r--r--kmicromail/libmailwrapper/settings.h6
-rw-r--r--kmicromail/main.cpp2
-rw-r--r--kmicromail/mainwindow.cpp2
-rw-r--r--kmicromail/smtpconfigui.ui97
10 files changed, 178 insertions, 91 deletions
diff --git a/kmicromail/composemail.cpp b/kmicromail/composemail.cpp
index 976e309..ed8a2ee 100644
--- a/kmicromail/composemail.cpp
+++ b/kmicromail/composemail.cpp
@@ -56,399 +56,410 @@ ComposeMail::ComposeMail( Settings *sett, QWidget *parent, const char *name, boo
56 mPickLineEdit = 0; 56 mPickLineEdit = 0;
57 mEncoding = KOPrefs::instance()->mCurrentCodeName; 57 mEncoding = KOPrefs::instance()->mCurrentCodeName;
58 connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)), 58 connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)),
59 this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&))); 59 this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&)));
60 settings = sett; 60 settings = sett;
61 m_replyid = ""; 61 m_replyid = "";
62 if ( KOPrefs::instance()->mUseKapi) { 62 if ( KOPrefs::instance()->mUseKapi) {
63 KConfig config( locateLocal("config", "kabcrc") ); 63 KConfig config( locateLocal("config", "kabcrc") );
64 config.setGroup( "General" ); 64 config.setGroup( "General" );
65 QString whoami_uid = config.readEntry( "WhoAmI" ); 65 QString whoami_uid = config.readEntry( "WhoAmI" );
66 66
67 if ( whoami_uid.isEmpty() ) { 67 if ( whoami_uid.isEmpty() ) {
68 QMessageBox::information( 0, i18n( "Hint" ), 68 QMessageBox::information( 0, i18n( "Hint" ),
69 i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), 69 i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ),
70 i18n( "Ok" ) ); 70 i18n( "Ok" ) );
71 71
72 72
73 fillSettings(); 73 fillSettings();
74 } else 74 } else
75 ExternalAppHandler::instance()->requestDetailsFromKAPI("", "sendbacklist", whoami_uid); 75 ExternalAppHandler::instance()->requestDetailsFromKAPI("", "sendbacklist", whoami_uid);
76 76
77 77
78#ifdef DESKTOP_VERSION 78#ifdef DESKTOP_VERSION
79 KABC::Addressee con = KABC::StdAddressBook::self()->whoAmI( ); 79 KABC::Addressee con = KABC::StdAddressBook::self()->whoAmI( );
80 QStringList mails = con.emails(); 80 QStringList mails = con.emails();
81 QString defmail = con.preferredEmail(); 81 QString defmail = con.preferredEmail();
82 if ( mails.count() == 0) 82 if ( mails.count() == 0)
83 QMessageBox::information( 0, i18n( "Hint" ), 83 QMessageBox::information( 0, i18n( "Hint" ),
84 i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), 84 i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ),
85 i18n( "Ok" ) ); 85 i18n( "Ok" ) );
86 if (defmail.length()!=0) { 86 if (defmail.length()!=0) {
87 fromBox->insertItem(defmail); 87 fromBox->insertItem(defmail);
88 } 88 }
89 QStringList::ConstIterator sit = mails.begin(); 89 QStringList::ConstIterator sit = mails.begin();
90 for (;sit!=mails.end();++sit) { 90 for (;sit!=mails.end();++sit) {
91 if ( (*sit)==defmail) 91 if ( (*sit)==defmail)
92 continue; 92 continue;
93 fromBox->insertItem((*sit)); 93 fromBox->insertItem((*sit));
94 } 94 }
95 senderNameEdit->setText(con.formattedName()); 95 senderNameEdit->setText(con.formattedName());
96#endif 96#endif
97 97
98 } else { 98 } else {
99 fillSettings(); 99 fillSettings();
100 } 100 }
101 checkBoxLater->setChecked( KOPrefs::instance()->mSendLater ); 101 checkBoxLater->setChecked( KOPrefs::instance()->mSendLater );
102 102
103 attList->addColumn( i18n( "Name" ) ); 103 attList->addColumn( i18n( "Name" ) );
104 attList->addColumn( i18n( "Size" ) ); 104 attList->addColumn( i18n( "Size" ) );
105 QList<Account> accounts = settings->getAccounts(); 105 QList<Account> accounts = settings->getAccounts();
106 106
107 if ( QApplication::desktop()->width() < 320 ) 107 if ( QApplication::desktop()->width() < 320 )
108 smtpAccountBox->setMaximumWidth( 80 ); 108 smtpAccountBox->setMaximumWidth( 80 );
109 Account *it; 109 Account *it;
110 for ( it = accounts.first(); it; it = accounts.next() ) { 110 for ( it = accounts.first(); it; it = accounts.next() ) {
111 if ( it->getType()==MAILLIB::A_SMTP ) { 111 if ( it->getType()==MAILLIB::A_SMTP ) {
112 SMTPaccount *smtp = static_cast<SMTPaccount *>(it); 112 SMTPaccount *smtp = static_cast<SMTPaccount *>(it);
113 smtpAccountBox->insertItem( smtp->getAccountName() ); 113 smtpAccountBox->insertItem( smtp->getAccountName() );
114 smtpAccounts.append( smtp ); 114 smtpAccounts.append( smtp );
115 } 115 }
116 } 116 }
117 connect( toButton, SIGNAL( clicked() ), SLOT( pickAddressTo() ) ); 117 connect( toButton, SIGNAL( clicked() ), SLOT( pickAddressTo() ) );
118 connect( ccButton, SIGNAL( clicked() ), SLOT( pickAddressCC() ) ); 118 connect( ccButton, SIGNAL( clicked() ), SLOT( pickAddressCC() ) );
119 connect( bccButton, SIGNAL( clicked() ), SLOT( pickAddressBCC() ) ); 119 connect( bccButton, SIGNAL( clicked() ), SLOT( pickAddressBCC() ) );
120 connect( replyButton, SIGNAL( clicked() ), SLOT( pickAddressReply() ) ); 120 connect( replyButton, SIGNAL( clicked() ), SLOT( pickAddressReply() ) );
121 connect( addButton, SIGNAL( clicked() ), SLOT( addAttachment() ) ); 121 connect( addButton, SIGNAL( clicked() ), SLOT( addAttachment() ) );
122 connect( deleteButton, SIGNAL( clicked() ), SLOT( removeAttachment() ) ); 122 connect( deleteButton, SIGNAL( clicked() ), SLOT( removeAttachment() ) );
123 connect( SaveButton, SIGNAL( clicked() ), SLOT( saveAsDraft()) ); 123 connect( SaveButton, SIGNAL( clicked() ), SLOT( saveAsDraft()) );
124 mMail = 0; 124 mMail = 0;
125 warnAttach = true; 125 warnAttach = true;
126 QIconSet icon; 126 QIconSet icon;
127 //icon = SmallIcon("fileexport"); 127 //icon = SmallIcon("fileexport");
128 icon = SmallIcon("filesave"); 128 icon = SmallIcon("filesave");
129 SaveButton->setIconSet (icon ) ; 129 SaveButton->setIconSet (icon ) ;
130 if ( QApplication::desktop()->width() < 320 ) { 130 if ( QApplication::desktop()->width() < 320 ) {
131 SaveButton->setText ("") ; 131 SaveButton->setText ("") ;
132 SaveButton->setMaximumSize ( SaveButton->sizeHint().height(),SaveButton->sizeHint().height()) ; 132 SaveButton->setMaximumSize ( SaveButton->sizeHint().height(),SaveButton->sizeHint().height()) ;
133 } 133 }
134 else 134 else
135 SaveButton->setText (i18n("Save")); 135 SaveButton->setText (i18n("Save"));
136#ifndef DESKTOP_VERSION 136#ifndef DESKTOP_VERSION
137 QPEApplication::setStylusOperation( message, QPEApplication::RightOnHold ); 137 QPEApplication::setStylusOperation( message, QPEApplication::RightOnHold );
138 QPEApplication::setStylusOperation( senderNameEdit, QPEApplication::RightOnHold ); 138 QPEApplication::setStylusOperation( senderNameEdit, QPEApplication::RightOnHold );
139 QPEApplication::setStylusOperation( subjectLine, QPEApplication::RightOnHold ); 139 QPEApplication::setStylusOperation( subjectLine, QPEApplication::RightOnHold );
140#endif 140#endif
141 message->setFont ( KOPrefs::instance()->mComposeFont ); 141 message->setFont ( KOPrefs::instance()->mComposeFont );
142 message->setWordWrap (QMultiLineEdit::WidgetWidth); 142 message->setWordWrap (QMultiLineEdit::WidgetWidth);
143 if ( smtpAccounts.count() > 0 ) { 143 if ( smtpAccounts.count() > 0 ) {
144 fillValues( smtpAccountBox->currentItem() ); 144 fillValues( smtpAccountBox->currentItem() );
145 } else { 145 } else {
146 QMessageBox::information( 0, i18n( "Problem" ), 146 QMessageBox::information( 0, i18n( "Problem" ),
147 i18n( "Please create an\nSMTP account first.\nThe SMTP is needed\nfor sending mail.\n" ), 147 i18n( "Please create an\nSMTP account first.\nThe SMTP is needed\nfor sending mail.\n" ),
148 i18n( "Ok" ) ); 148 i18n( "Ok" ) );
149 return; 149 return;
150 } 150 }
151 connect( smtpAccountBox, SIGNAL( activated(int) ), SLOT( fillValues(int) ) ); 151 connect( smtpAccountBox, SIGNAL( activated(int) ), SLOT( fillValues(int) ) );
152 152 connect( SaveSigButton, SIGNAL( clicked() ), SLOT( saveSig()) );
153 if ( smtpAccountBox->count())
154 fillValues(0);
153 155
154} 156}
155 157
156void ComposeMail::fillSettings() 158void ComposeMail::fillSettings()
157{ 159{
158 if ( QApplication::desktop()->width() < 320 ) 160 if ( QApplication::desktop()->width() < 320 )
159 fromBox->setMaximumWidth( 100 ); 161 fromBox->setMaximumWidth( 100 );
160 QStringList mailList = QStringList::split(";",KOPrefs::instance()->mEmail); 162 QStringList mailList = QStringList::split(";",KOPrefs::instance()->mEmail);
161 QStringList::ConstIterator sit = mailList.begin(); 163 QStringList::ConstIterator sit = mailList.begin();
162 int pref = 0; 164 int pref = 0;
163 for (;sit!=mailList.end();++sit) { 165 for (;sit!=mailList.end();++sit) {
164 fromBox->insertItem((*sit)); 166 fromBox->insertItem((*sit));
165 } 167 }
166 senderNameEdit->setText(KOPrefs::instance()->mName); 168 senderNameEdit->setText(KOPrefs::instance()->mName);
167} 169}
168 170void ComposeMail::saveSig()
169 171{
172 if ( smtpAccountBox->count()) {
173 int cur = smtpAccountBox->currentItem ();
174 SMTPaccount *smtp = smtpAccounts.at( cur );
175 if ( smtp )
176 smtp->setSignature( sigMultiLine->text());
177 }
178}
170void ComposeMail::saveAsDraft() 179void ComposeMail::saveAsDraft()
171{ 180{
172 181
173 Opie::Core::OSmartPointer<Mail> mail= new Mail(); 182 Opie::Core::OSmartPointer<Mail> mail= new Mail();
174 mail->setMail(fromBox->currentText()); 183 mail->setMail(fromBox->currentText());
175 mail->setTo( toLine->text() ); 184 mail->setTo( toLine->text() );
176 mail->setName(senderNameEdit->text()); 185 mail->setName(senderNameEdit->text());
177 mail->setCC( ccLine->text() ); 186 mail->setCC( ccLine->text() );
178 mail->setBCC( bccLine->text() ); 187 mail->setBCC( bccLine->text() );
179 mail->setReply( replyLine->text() ); 188 mail->setReply( replyLine->text() );
180 mail->setSubject( subjectLine->text() ); 189 mail->setSubject( subjectLine->text() );
181 if (!m_replyid.isEmpty()) { 190 if (!m_replyid.isEmpty()) {
182 QStringList ids; 191 QStringList ids;
183 ids.append(m_replyid); 192 ids.append(m_replyid);
184 mail->setInreply(ids); 193 mail->setInreply(ids);
185 } 194 }
186 QString txt = message->text(); 195 QString txt = message->text();
187 if ( !sigMultiLine->text().isEmpty() ) { 196 if ( !sigMultiLine->text().isEmpty() ) {
188 txt.append( "\n--\n" ); 197 txt.append( "\n--\n" );
189 txt.append( sigMultiLine->text() ); 198 txt.append( sigMultiLine->text() );
190 } 199 }
191 mail->setMessage( txt ); 200 mail->setMessage( txt );
192 mail->setCharset (mEncoding); 201 mail->setCharset (mEncoding);
193 /* only use the default drafts folder name! */ 202 /* only use the default drafts folder name! */
194 Storemail wrapper(AbstractMail::draftFolder()); 203 Storemail wrapper(AbstractMail::draftFolder());
195 wrapper.storeMail(mail); 204 wrapper.storeMail(mail);
196 205
197 AttachViewItem *it = (AttachViewItem *) attList->firstChild(); 206 AttachViewItem *it = (AttachViewItem *) attList->firstChild();
198 /* attachments we will ignore! */ 207 /* attachments we will ignore! */
199 if ( it != 0 ) { 208 if ( it != 0 ) {
200 if ( warnAttach ) 209 if ( warnAttach )
201 QMessageBox::warning(0,i18n("Store message"), 210 QMessageBox::warning(0,i18n("Store message"),
202 i18n("<center>Attachments will not be stored in \"Draft\" folder</center>")); 211 i18n("<center>Attachments will not be stored in \"Draft\" folder</center>"));
203 warnAttach = false; 212 warnAttach = false;
204 } 213 }
205 setStatus( i18n("Mail saved as draft!") ); 214 setStatus( i18n("Mail saved as draft!") );
206} 215}
207void ComposeMail::clearStatus() 216void ComposeMail::clearStatus()
208{ 217{
209 topLevelWidget()->setCaption( i18n("Compose mail") ); 218 topLevelWidget()->setCaption( i18n("Compose mail") );
210} 219}
211void ComposeMail::setStatus( QString status ) 220void ComposeMail::setStatus( QString status )
212{ 221{
213 topLevelWidget()->setCaption( status ); 222 topLevelWidget()->setCaption( status );
214 QTimer::singleShot ( 10000, this, SLOT( clearStatus() ) ) ; 223 QTimer::singleShot ( 10000, this, SLOT( clearStatus() ) ) ;
215} 224}
216void ComposeMail::pickAddress( ) 225void ComposeMail::pickAddress( )
217{ 226{
218 227
219 QLineEdit *line = mPickLineEdit; 228 QLineEdit *line = mPickLineEdit;
220 if ( line == 0 ) 229 if ( line == 0 )
221 return; 230 return;
222#ifdef DESKTOP_VERSION 231#ifdef DESKTOP_VERSION
223 //qDebug(" ComposeMail::pickAddress "); 232 //qDebug(" ComposeMail::pickAddress ");
224 QString names ;//= AddressPicker::getNames(); 233 QString names ;//= AddressPicker::getNames();
225 234
226 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); 235 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this);
227 uint i=0; 236 uint i=0;
228 for (i=0; i < list.count(); i++) { 237 for (i=0; i < list.count(); i++) {
229 if ( !list[i].preferredEmail().isEmpty()) { 238 if ( !list[i].preferredEmail().isEmpty()) {
230 if ( ! names.isEmpty() ) 239 if ( ! names.isEmpty() )
231 names+= ","; 240 names+= ",";
232 names+= "\""+list[i].realName() +"\"<" +list[i].preferredEmail() +">"; 241 names+= "\""+list[i].realName() +"\"<" +list[i].preferredEmail() +">";
233 242
234 } 243 }
235 } 244 }
236 245
237 246
238 if ( line->text().isEmpty() ) { 247 if ( line->text().isEmpty() ) {
239 line->setText( names ); 248 line->setText( names );
240 } else if ( !names.isEmpty() ) { 249 } else if ( !names.isEmpty() ) {
241 line->setText( line->text() + ", " + names ); 250 line->setText( line->text() + ", " + names );
242 } 251 }
243#else 252#else
244 bool res = ExternalAppHandler::instance()->requestNameEmailUidListFromKAPI("QPE/Application/ompi", this->name() /* name is here the unique uid*/); 253 bool res = ExternalAppHandler::instance()->requestNameEmailUidListFromKAPI("QPE/Application/ompi", this->name() /* name is here the unique uid*/);
245 // the result should now arrive through method insertAttendees 254 // the result should now arrive through method insertAttendees
246#endif 255#endif
247} 256}
248//the map includes name/email pairs, that comes from Ka/Pi 257//the map includes name/email pairs, that comes from Ka/Pi
249void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameList,const QStringList& emailList,const QStringList& uidList) 258void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameList,const QStringList& emailList,const QStringList& uidList)
250{ 259{
251 //qDebug("ComposeMail::insertAttendees "); 260 //qDebug("ComposeMail::insertAttendees ");
252 raise(); 261 raise();
253 262
254 if ( mPickLineEdit == 0 ) { //whoami received 263 if ( mPickLineEdit == 0 ) { //whoami received
255 QString defmail = uidList[0]; 264 QString defmail = uidList[0];
256 if ( emailList.count() == 0 ) 265 if ( emailList.count() == 0 )
257 QMessageBox::information( 0, i18n( "Hint" ), 266 QMessageBox::information( 0, i18n( "Hint" ),
258 i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), 267 i18n( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ),
259 i18n( "Ok" ) ); 268 i18n( "Ok" ) );
260 if (defmail.length()!=0) { 269 if (defmail.length()!=0) {
261 fromBox->insertItem(defmail); 270 fromBox->insertItem(defmail);
262 } 271 }
263 QStringList::ConstIterator sit = emailList.begin(); 272 QStringList::ConstIterator sit = emailList.begin();
264 int pref = 0; 273 int pref = 0;
265 for (;sit!=emailList.end();++sit) { 274 for (;sit!=emailList.end();++sit) {
266 if ( (*sit)==defmail) 275 if ( (*sit)==defmail)
267 continue; 276 continue;
268 fromBox->insertItem((*sit)); 277 fromBox->insertItem((*sit));
269 } 278 }
270 senderNameEdit->setText(nameList[0]); 279 senderNameEdit->setText(nameList[0]);
271 return; 280 return;
272 } 281 }
273 QString names ; 282 QString names ;
274 QLineEdit *line = mPickLineEdit; 283 QLineEdit *line = mPickLineEdit;
275 if (uid == this->name()) 284 if (uid == this->name())
276 { 285 {
277 for ( int i = 0; i < nameList.count(); i++) 286 for ( int i = 0; i < nameList.count(); i++)
278 { 287 {
279 QString _name = nameList[i]; 288 QString _name = nameList[i];
280 QString _email = emailList[i]; 289 QString _email = emailList[i];
281 QString _uid = uidList[i]; 290 QString _uid = uidList[i];
282 if ( ! _email.isEmpty() ) { 291 if ( ! _email.isEmpty() ) {
283 if ( ! names.isEmpty() ) 292 if ( ! names.isEmpty() )
284 names+= ","; 293 names+= ",";
285 names+= "\""+_name +"\"<" +_email +">"; 294 names+= "\""+_name +"\"<" +_email +">";
286 } 295 }
287 } 296 }
288 } 297 }
289 if ( line->text().isEmpty() ) { 298 if ( line->text().isEmpty() ) {
290 line->setText( names ); 299 line->setText( names );
291 } else if ( !names.isEmpty() ) { 300 } else if ( !names.isEmpty() ) {
292 line->setText( line->text() + ", " + names ); 301 line->setText( line->text() + ", " + names );
293 } 302 }
294} 303}
295 304
296void ComposeMail::setTo( const QString & to ) 305void ComposeMail::setTo( const QString & to )
297{ 306{
298 toLine->setText( to ); 307 toLine->setText( to );
299} 308}
300 309
301void ComposeMail::setSubject( const QString & subject ) 310void ComposeMail::setSubject( const QString & subject )
302{ 311{
303 subjectLine->setText( subject ); 312 subjectLine->setText( subject );
304} 313}
305 314
306void ComposeMail::setInReplyTo( const QString & messageId ) 315void ComposeMail::setInReplyTo( const QString & messageId )
307{ 316{
308 m_replyid = messageId; 317 m_replyid = messageId;
309} 318}
310 319
311void ComposeMail::setMessage( const QString & text ) 320void ComposeMail::setMessage( const QString & text )
312{ 321{
313 message->setText( text ); 322 message->setText( text );
314} 323}
315 324
316 325
317void ComposeMail::pickAddressTo() 326void ComposeMail::pickAddressTo()
318{ 327{
319 mPickLineEdit = toLine; 328 mPickLineEdit = toLine;
320 pickAddress( ); 329 pickAddress( );
321} 330}
322 331
323void ComposeMail::pickAddressCC() 332void ComposeMail::pickAddressCC()
324{ 333{
325 mPickLineEdit = ccLine; 334 mPickLineEdit = ccLine;
326 pickAddress( ); 335 pickAddress( );
327} 336}
328 337
329void ComposeMail::pickAddressBCC() 338void ComposeMail::pickAddressBCC()
330{ 339{
331 mPickLineEdit = bccLine; 340 mPickLineEdit = bccLine;
332 pickAddress( ); 341 pickAddress( );
333} 342}
334 343
335void ComposeMail::pickAddressReply() 344void ComposeMail::pickAddressReply()
336{ 345{
337 mPickLineEdit = replyLine; 346 mPickLineEdit = replyLine;
338 pickAddress( ); 347 pickAddress( );
339} 348}
340 349
341void ComposeMail::fillValues( int ) 350void ComposeMail::fillValues( int current )
342{ 351{
343#if 0 352#if 0
344 SMTPaccount *smtp = smtpAccounts.at( current ); 353 SMTPaccount *smtp = smtpAccounts.at( current );
345 ccLine->clear(); 354 ccLine->clear();
346 if ( smtp->getUseCC() ) { 355 if ( smtp->getUseCC() ) {
347 ccLine->setText( smtp->getCC() ); 356 ccLine->setText( smtp->getCC() );
348 } 357 }
349 bccLine->clear(); 358 bccLine->clear();
350 if ( smtp->getUseBCC() ) { 359 if ( smtp->getUseBCC() ) {
351 bccLine->setText( smtp->getBCC() ); 360 bccLine->setText( smtp->getBCC() );
352 } 361 }
353 replyLine->clear(); 362 replyLine->clear();
354 if ( smtp->getUseReply() ) { 363 if ( smtp->getUseReply() ) {
355 replyLine->setText( smtp->getReply() ); 364 replyLine->setText( smtp->getReply() );
356 } 365 }
357 sigMultiLine->setText( smtp->getSignature() );
358#endif 366#endif
367 SMTPaccount *smtp = smtpAccounts.at( current );
368 if ( smtp )
369 sigMultiLine->setText( smtp->getSignature() );
359} 370}
360 371
361void ComposeMail::slotAdjustColumns() 372void ComposeMail::slotAdjustColumns()
362{ 373{
363 int currPage = tabWidget->currentPageIndex(); 374 int currPage = tabWidget->currentPageIndex();
364 375
365 tabWidget->showPage( attachTab ); 376 tabWidget->showPage( attachTab );
366 attList->setColumnWidth( 0, attList->visibleWidth() - 80 ); 377 attList->setColumnWidth( 0, attList->visibleWidth() - 80 );
367 attList->setColumnWidth( 1, 80 ); 378 attList->setColumnWidth( 1, 80 );
368 379
369 tabWidget->setCurrentPage( currPage ); 380 tabWidget->setCurrentPage( currPage );
370} 381}
371 382
372void ComposeMail::addAttachment() 383void ComposeMail::addAttachment()
373{ 384{
374 QString lnk = KFileDialog::getOpenFileName( "", "Add Attachment", this ); 385 QString lnk = KFileDialog::getOpenFileName( "", "Add Attachment", this );
375 if ( !lnk.isEmpty() ) { 386 if ( !lnk.isEmpty() ) {
376 Attachment *att = new Attachment( lnk ); 387 Attachment *att = new Attachment( lnk );
377 (void) new AttachViewItem( attList, att ); 388 (void) new AttachViewItem( attList, att );
378 } 389 }
379} 390}
380 391
381void ComposeMail::removeAttachment() 392void ComposeMail::removeAttachment()
382{ 393{
383 if ( !attList->currentItem() ) { 394 if ( !attList->currentItem() ) {
384 QMessageBox::information( this, i18n( "Error" ), 395 QMessageBox::information( this, i18n( "Error" ),
385 i18n( "<p>Please select a File.</p>" ), 396 i18n( "<p>Please select a File.</p>" ),
386 i18n( "Ok" ) ); 397 i18n( "Ok" ) );
387 } else { 398 } else {
388 attList->takeItem( attList->currentItem() ); 399 attList->takeItem( attList->currentItem() );
389 } 400 }
390} 401}
391 402
392void ComposeMail::accept() 403void ComposeMail::accept()
393{ 404{
394 if ( smtpAccountBox->count() == 0 ) { 405 if ( smtpAccountBox->count() == 0 ) {
395 406
396 reject(); 407 reject();
397 return; 408 return;
398 } 409 }
399 410
400 if (! checkBoxLater->isChecked() ) { 411 if (! checkBoxLater->isChecked() ) {
401 int yesno = QMessageBox::warning(0,i18n("Stop editing message"), 412 int yesno = QMessageBox::warning(0,i18n("Stop editing message"),
402 i18n("Send this message?"), 413 i18n("Send this message?"),
403 i18n("Yes"), 414 i18n("Yes"),
404 i18n("Cancel")); 415 i18n("Cancel"));
405 416
406 if (yesno == 1) { 417 if (yesno == 1) {
407 return; 418 return;
408 } 419 }
409 } 420 }
410#if 0 421#if 0
411 odebug << "Sending Mail with " 422 odebug << "Sending Mail with "
412 << smtpAccounts.at( smtpAccountBox->currentItem() )->getAccountName() << oendl; 423 << smtpAccounts.at( smtpAccountBox->currentItem() )->getAccountName() << oendl;
413#endif 424#endif
414 Opie::Core::OSmartPointer<Mail> mail=new Mail; 425 Opie::Core::OSmartPointer<Mail> mail=new Mail;
415 426
416 SMTPaccount *smtp = smtpAccounts.at( smtpAccountBox->currentItem() ); 427 SMTPaccount *smtp = smtpAccounts.at( smtpAccountBox->currentItem() );
417 mail->setMail(fromBox->currentText()); 428 mail->setMail(fromBox->currentText());
418 429
419 if ( !toLine->text().isEmpty() ) { 430 if ( !toLine->text().isEmpty() ) {
420 mail->setTo( toLine->text() ); 431 mail->setTo( toLine->text() );
421 } else { 432 } else {
422 QMessageBox::warning(0,i18n("Sending mail"), 433 QMessageBox::warning(0,i18n("Sending mail"),
423 i18n("No Receiver spezified" ) ); 434 i18n("No Receiver spezified" ) );
424 return; 435 return;
425 } 436 }
426 437
427 mail->setName(senderNameEdit->text()); 438 mail->setName(senderNameEdit->text());
428 mail->setCC( ccLine->text() ); 439 mail->setCC( ccLine->text() );
429 mail->setBCC( bccLine->text() ); 440 mail->setBCC( bccLine->text() );
430 mail->setReply( replyLine->text() ); 441 mail->setReply( replyLine->text() );
431 mail->setSubject( subjectLine->text() ); 442 mail->setSubject( subjectLine->text() );
432 if (!m_replyid.isEmpty()) { 443 if (!m_replyid.isEmpty()) {
433 QStringList ids; 444 QStringList ids;
434 ids.append(m_replyid); 445 ids.append(m_replyid);
435 mail->setInreply(ids); 446 mail->setInreply(ids);
436 } 447 }
437 QString txt = message->text(); 448 QString txt = message->text();
438 if ( !sigMultiLine->text().isEmpty() ) { 449 if ( !sigMultiLine->text().isEmpty() ) {
439 txt.append( "\n--\n" ); 450 txt.append( "\n--\n" );
440 txt.append( sigMultiLine->text() ); 451 txt.append( sigMultiLine->text() );
441 } 452 }
442 mail->setMessage( txt ); 453 mail->setMessage( txt );
443 mail->setCharset (mEncoding); 454 mail->setCharset (mEncoding);
444 AttachViewItem *it = (AttachViewItem *) attList->firstChild(); 455 AttachViewItem *it = (AttachViewItem *) attList->firstChild();
445 while ( it != 0 ) { 456 while ( it != 0 ) {
446 mail->addAttachment( it->getAttachment() ); 457 mail->addAttachment( it->getAttachment() );
447 it = (AttachViewItem *) it->nextSibling(); 458 it = (AttachViewItem *) it->nextSibling();
448 } 459 }
449 460
450 SMTPwrapper wrapper( smtp ); 461 SMTPwrapper wrapper( smtp );
451 if ( wrapper.sendMail( mail,checkBoxLater->isChecked() ) ) 462 if ( wrapper.sendMail( mail,checkBoxLater->isChecked() ) )
452 setStatus( tr ("Mail sent")); 463 setStatus( tr ("Mail sent"));
453 else { 464 else {
454 setStatus( tr ("Error: Something went wrong. Nothing sent")); 465 setStatus( tr ("Error: Something went wrong. Nothing sent"));
diff --git a/kmicromail/composemail.h b/kmicromail/composemail.h
index a7fa41c..966ac3e 100644
--- a/kmicromail/composemail.h
+++ b/kmicromail/composemail.h
@@ -1,93 +1,94 @@
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 ); 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 ); 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 void setCharset(const QString&); 51 void setCharset(const QString&);
52 52
53 53
54protected slots: 54protected slots:
55 void accept(); 55 void accept();
56 void reject(); 56 void reject();
57 57
58private slots: 58private slots:
59 void fillValues( int current ); 59 void fillValues( int current );
60 void fillSettings(); 60 void fillSettings();
61 void pickAddress(); 61 void pickAddress();
62 void pickAddressTo(); 62 void pickAddressTo();
63 void pickAddressCC(); 63 void pickAddressCC();
64 void pickAddressBCC(); 64 void pickAddressBCC();
65 void pickAddressReply(); 65 void pickAddressReply();
66 void saveAsDraft(); 66 void saveAsDraft();
67 void addAttachment(); 67 void addAttachment();
68 void removeAttachment(); 68 void removeAttachment();
69 void clearStatus(); 69 void clearStatus();
70 void setStatus( QString ); 70 void setStatus( QString );
71 void saveSig();
71 72
72protected: 73protected:
73 QLineEdit* mPickLineEdit; 74 QLineEdit* mPickLineEdit;
74 Opie::Core::OSmartPointer<Mail> mMail; 75 Opie::Core::OSmartPointer<Mail> mMail;
75 Settings *settings; 76 Settings *settings;
76 QList<SMTPaccount> smtpAccounts; 77 QList<SMTPaccount> smtpAccounts;
77 QString m_replyid; 78 QString m_replyid;
78 QString mEncoding; 79 QString mEncoding;
79 bool warnAttach; 80 bool warnAttach;
80}; 81};
81 82
82class AttachViewItem : public QListViewItem 83class AttachViewItem : public QListViewItem
83{ 84{
84public: 85public:
85 AttachViewItem( QListView *parent, Attachment *att ); 86 AttachViewItem( QListView *parent, Attachment *att );
86 Attachment *getAttachment() { return attachment; } 87 Attachment *getAttachment() { return attachment; }
87 88
88private: 89private:
89 Attachment *attachment; 90 Attachment *attachment;
90 91
91}; 92};
92 93
93#endif 94#endif
diff --git a/kmicromail/composemailui.ui b/kmicromail/composemailui.ui
index 610907c..23f47d3 100644
--- a/kmicromail/composemailui.ui
+++ b/kmicromail/composemailui.ui
@@ -1,112 +1,112 @@
1<!DOCTYPE UI><UI> 1<!DOCTYPE UI><UI>
2<class>ComposeMailUI</class> 2<class>ComposeMailUI</class>
3<include location="local">tr.h</include> 3<include location="local">tr.h</include>
4<widget> 4<widget>
5 <class>QDialog</class> 5 <class>QDialog</class>
6 <property stdset="1"> 6 <property stdset="1">
7 <name>name</name> 7 <name>name</name>
8 <cstring>ComposeMailUI</cstring> 8 <cstring>ComposeMailUI</cstring>
9 </property> 9 </property>
10 <property stdset="1"> 10 <property stdset="1">
11 <name>geometry</name> 11 <name>geometry</name>
12 <rect> 12 <rect>
13 <x>0</x> 13 <x>0</x>
14 <y>0</y> 14 <y>0</y>
15 <width>579</width> 15 <width>275</width>
16 <height>476</height> 16 <height>382</height>
17 </rect> 17 </rect>
18 </property> 18 </property>
19 <property stdset="1"> 19 <property stdset="1">
20 <name>sizePolicy</name> 20 <name>sizePolicy</name>
21 <sizepolicy> 21 <sizepolicy>
22 <hsizetype>7</hsizetype> 22 <hsizetype>7</hsizetype>
23 <vsizetype>7</vsizetype> 23 <vsizetype>7</vsizetype>
24 </sizepolicy> 24 </sizepolicy>
25 </property> 25 </property>
26 <property stdset="1"> 26 <property stdset="1">
27 <name>caption</name> 27 <name>caption</name>
28 <string>Compose Message</string> 28 <string>Compose Message</string>
29 </property> 29 </property>
30 <property> 30 <property>
31 <name>layoutMargin</name> 31 <name>layoutMargin</name>
32 </property> 32 </property>
33 <property> 33 <property>
34 <name>layoutSpacing</name> 34 <name>layoutSpacing</name>
35 </property> 35 </property>
36 <vbox> 36 <vbox>
37 <property stdset="1"> 37 <property stdset="1">
38 <name>margin</name> 38 <name>margin</name>
39 <number>0</number> 39 <number>0</number>
40 </property> 40 </property>
41 <property stdset="1"> 41 <property stdset="1">
42 <name>spacing</name> 42 <name>spacing</name>
43 <number>0</number> 43 <number>0</number>
44 </property> 44 </property>
45 <widget> 45 <widget>
46 <class>QLayoutWidget</class> 46 <class>QLayoutWidget</class>
47 <property stdset="1"> 47 <property stdset="1">
48 <name>name</name> 48 <name>name</name>
49 <cstring>Layout4</cstring> 49 <cstring>Layout4</cstring>
50 </property> 50 </property>
51 <property> 51 <property>
52 <name>layoutSpacing</name> 52 <name>layoutSpacing</name>
53 </property> 53 </property>
54 <vbox> 54 <vbox>
55 <property stdset="1"> 55 <property stdset="1">
56 <name>margin</name> 56 <name>margin</name>
57 <number>0</number> 57 <number>0</number>
58 </property> 58 </property>
59 <property stdset="1"> 59 <property stdset="1">
60 <name>spacing</name> 60 <name>spacing</name>
61 <number>0</number> 61 <number>0</number>
62 </property> 62 </property>
63 <widget> 63 <widget>
64 <class>QLayoutWidget</class> 64 <class>QLayoutWidget</class>
65 <property stdset="1"> 65 <property stdset="1">
66 <name>name</name> 66 <name>name</name>
67 <cstring>Layout3</cstring> 67 <cstring>Layout3</cstring>
68 </property> 68 </property>
69 <property> 69 <property>
70 <name>layoutSpacing</name> 70 <name>layoutSpacing</name>
71 </property> 71 </property>
72 <hbox> 72 <hbox>
73 <property stdset="1"> 73 <property stdset="1">
74 <name>margin</name> 74 <name>margin</name>
75 <number>0</number> 75 <number>0</number>
76 </property> 76 </property>
77 <property stdset="1"> 77 <property stdset="1">
78 <name>spacing</name> 78 <name>spacing</name>
79 <number>0</number> 79 <number>0</number>
80 </property> 80 </property>
81 <widget> 81 <widget>
82 <class>QCheckBox</class> 82 <class>QCheckBox</class>
83 <property stdset="1"> 83 <property stdset="1">
84 <name>name</name> 84 <name>name</name>
85 <cstring>checkBoxLater</cstring> 85 <cstring>checkBoxLater</cstring>
86 </property> 86 </property>
87 <property stdset="1"> 87 <property stdset="1">
88 <name>text</name> 88 <name>text</name>
89 <string>send later</string> 89 <string>send later</string>
90 </property> 90 </property>
91 </widget> 91 </widget>
92 <widget> 92 <widget>
93 <class>QLabel</class> 93 <class>QLabel</class>
94 <property stdset="1"> 94 <property stdset="1">
95 <name>name</name> 95 <name>name</name>
96 <cstring>accountLabel</cstring> 96 <cstring>accountLabel</cstring>
97 </property> 97 </property>
98 <property stdset="1"> 98 <property stdset="1">
99 <name>text</name> 99 <name>text</name>
100 <string>use:</string> 100 <string>use:</string>
101 </property> 101 </property>
102 </widget> 102 </widget>
103 <widget> 103 <widget>
104 <class>QComboBox</class> 104 <class>QComboBox</class>
105 <property stdset="1"> 105 <property stdset="1">
106 <name>name</name> 106 <name>name</name>
107 <cstring>smtpAccountBox</cstring> 107 <cstring>smtpAccountBox</cstring>
108 </property> 108 </property>
109 <property stdset="1"> 109 <property stdset="1">
110 <name>sizePolicy</name> 110 <name>sizePolicy</name>
111 <sizepolicy> 111 <sizepolicy>
112 <hsizetype>3</hsizetype> 112 <hsizetype>3</hsizetype>
@@ -238,283 +238,273 @@
238 </property> 238 </property>
239 <property stdset="1"> 239 <property stdset="1">
240 <name>maximumSize</name> 240 <name>maximumSize</name>
241 <size> 241 <size>
242 <width>180</width> 242 <width>180</width>
243 <height>32767</height> 243 <height>32767</height>
244 </size> 244 </size>
245 </property> 245 </property>
246 </widget> 246 </widget>
247 </grid> 247 </grid>
248 </widget> 248 </widget>
249 <widget row="2" column="1" > 249 <widget row="2" column="1" >
250 <class>QLineEdit</class> 250 <class>QLineEdit</class>
251 <property stdset="1"> 251 <property stdset="1">
252 <name>name</name> 252 <name>name</name>
253 <cstring>subjectLine</cstring> 253 <cstring>subjectLine</cstring>
254 </property> 254 </property>
255 <property stdset="1"> 255 <property stdset="1">
256 <name>sizePolicy</name> 256 <name>sizePolicy</name>
257 <sizepolicy> 257 <sizepolicy>
258 <hsizetype>3</hsizetype> 258 <hsizetype>3</hsizetype>
259 <vsizetype>0</vsizetype> 259 <vsizetype>0</vsizetype>
260 </sizepolicy> 260 </sizepolicy>
261 </property> 261 </property>
262 </widget> 262 </widget>
263 <widget row="1" column="1" > 263 <widget row="1" column="1" >
264 <class>QLineEdit</class> 264 <class>QLineEdit</class>
265 <property stdset="1"> 265 <property stdset="1">
266 <name>name</name> 266 <name>name</name>
267 <cstring>toLine</cstring> 267 <cstring>toLine</cstring>
268 </property> 268 </property>
269 <property stdset="1"> 269 <property stdset="1">
270 <name>sizePolicy</name> 270 <name>sizePolicy</name>
271 <sizepolicy> 271 <sizepolicy>
272 <hsizetype>3</hsizetype> 272 <hsizetype>3</hsizetype>
273 <vsizetype>0</vsizetype> 273 <vsizetype>0</vsizetype>
274 </sizepolicy> 274 </sizepolicy>
275 </property> 275 </property>
276 </widget> 276 </widget>
277 <widget row="2" column="0" > 277 <widget row="2" column="0" >
278 <class>QLabel</class> 278 <class>QLabel</class>
279 <property stdset="1"> 279 <property stdset="1">
280 <name>name</name> 280 <name>name</name>
281 <cstring>subjectLabel</cstring> 281 <cstring>subjectLabel</cstring>
282 </property> 282 </property>
283 <property stdset="1"> 283 <property stdset="1">
284 <name>text</name> 284 <name>text</name>
285 <string>Subject</string> 285 <string>Subject</string>
286 </property> 286 </property>
287 </widget> 287 </widget>
288 <widget row="0" column="0" > 288 <widget row="0" column="0" >
289 <class>QLabel</class> 289 <class>QLabel</class>
290 <property stdset="1"> 290 <property stdset="1">
291 <name>name</name> 291 <name>name</name>
292 <cstring>fromLabel</cstring> 292 <cstring>fromLabel</cstring>
293 </property> 293 </property>
294 <property stdset="1"> 294 <property stdset="1">
295 <name>text</name> 295 <name>text</name>
296 <string>From</string> 296 <string>From</string>
297 </property> 297 </property>
298 </widget> 298 </widget>
299 <widget row="1" column="0" > 299 <widget row="1" column="0" >
300 <class>QPushButton</class> 300 <class>QPushButton</class>
301 <property stdset="1"> 301 <property stdset="1">
302 <name>name</name> 302 <name>name</name>
303 <cstring>toButton</cstring> 303 <cstring>toButton</cstring>
304 </property> 304 </property>
305 <property stdset="1"> 305 <property stdset="1">
306 <name>text</name> 306 <name>text</name>
307 <string>To</string> 307 <string>To</string>
308 </property> 308 </property>
309 </widget> 309 </widget>
310 </grid> 310 </grid>
311 </widget> 311 </widget>
312 <widget> 312 <widget>
313 <class>QMultiLineEdit</class> 313 <class>QMultiLineEdit</class>
314 <property stdset="1"> 314 <property stdset="1">
315 <name>name</name> 315 <name>name</name>
316 <cstring>message</cstring> 316 <cstring>message</cstring>
317 </property> 317 </property>
318 </widget> 318 </widget>
319 </vbox> 319 </vbox>
320 </widget> 320 </widget>
321 <widget> 321 <widget>
322 <class>QWidget</class> 322 <class>QWidget</class>
323 <property stdset="1"> 323 <property stdset="1">
324 <name>name</name> 324 <name>name</name>
325 <cstring>optionsTab</cstring> 325 <cstring>optionsTab</cstring>
326 </property> 326 </property>
327 <attribute> 327 <attribute>
328 <name>title</name> 328 <name>title</name>
329 <string>Options</string> 329 <string>Options</string>
330 </attribute> 330 </attribute>
331 <grid> 331 <grid>
332 <property stdset="1"> 332 <property stdset="1">
333 <name>margin</name> 333 <name>margin</name>
334 <number>3</number> 334 <number>2</number>
335 </property> 335 </property>
336 <property stdset="1"> 336 <property stdset="1">
337 <name>spacing</name> 337 <name>spacing</name>
338 <number>3</number> 338 <number>2</number>
339 </property> 339 </property>
340 <widget row="3" column="0" > 340 <widget row="1" column="0" >
341 <class>QPushButton</class>
342 <property stdset="1">
343 <name>name</name>
344 <cstring>replyButton</cstring>
345 </property>
346 <property stdset="1">
347 <name>text</name>
348 <string>Reply-To</string>
349 </property>
350 </widget>
351 <widget row="2" column="0" >
352 <class>QPushButton</class> 341 <class>QPushButton</class>
353 <property stdset="1"> 342 <property stdset="1">
354 <name>name</name> 343 <name>name</name>
355 <cstring>bccButton</cstring> 344 <cstring>bccButton</cstring>
356 </property> 345 </property>
357 <property stdset="1"> 346 <property stdset="1">
358 <name>text</name> 347 <name>text</name>
359 <string>BCC</string> 348 <string>BCC</string>
360 </property> 349 </property>
361 </widget> 350 </widget>
362 <widget row="1" column="1" > 351 <widget row="0" column="1" >
363 <class>QLineEdit</class> 352 <class>QLineEdit</class>
364 <property stdset="1"> 353 <property stdset="1">
365 <name>name</name> 354 <name>name</name>
366 <cstring>ccLine</cstring> 355 <cstring>ccLine</cstring>
367 </property> 356 </property>
368 </widget> 357 </widget>
369 <widget row="2" column="1" > 358 <widget row="1" column="1" >
370 <class>QLineEdit</class> 359 <class>QLineEdit</class>
371 <property stdset="1"> 360 <property stdset="1">
372 <name>name</name> 361 <name>name</name>
373 <cstring>bccLine</cstring> 362 <cstring>bccLine</cstring>
374 </property> 363 </property>
375 </widget> 364 </widget>
376 <widget row="3" column="1" > 365 <widget row="2" column="1" >
377 <class>QLineEdit</class> 366 <class>QLineEdit</class>
378 <property stdset="1"> 367 <property stdset="1">
379 <name>name</name> 368 <name>name</name>
380 <cstring>replyLine</cstring> 369 <cstring>replyLine</cstring>
381 </property> 370 </property>
382 </widget> 371 </widget>
383 <widget row="6" column="0" rowspan="1" colspan="2" > 372 <widget row="4" column="0" rowspan="1" colspan="2" >
384 <class>QMultiLineEdit</class> 373 <class>QMultiLineEdit</class>
385 <property stdset="1"> 374 <property stdset="1">
386 <name>name</name> 375 <name>name</name>
387 <cstring>sigMultiLine</cstring> 376 <cstring>sigMultiLine</cstring>
388 </property> 377 </property>
389 </widget> 378 </widget>
390 <widget row="5" column="0" > 379 <widget row="0" column="0" >
391 <class>QLabel</class> 380 <class>QPushButton</class>
392 <property stdset="1"> 381 <property stdset="1">
393 <name>name</name> 382 <name>name</name>
394 <cstring>sigLabel</cstring> 383 <cstring>ccButton</cstring>
395 </property> 384 </property>
396 <property stdset="1"> 385 <property stdset="1">
397 <name>text</name> 386 <name>text</name>
398 <string>Signature</string> 387 <string>CC</string>
399 </property> 388 </property>
400 </widget> 389 </widget>
401 <spacer row="4" column="0" > 390 <widget row="3" column="1" >
402 <property> 391 <class>QPushButton</class>
392 <property stdset="1">
403 <name>name</name> 393 <name>name</name>
404 <cstring>Spacer3</cstring> 394 <cstring>SaveSigButton</cstring>
405 </property> 395 </property>
406 <property stdset="1"> 396 <property stdset="1">
407 <name>orientation</name> 397 <name>text</name>
408 <enum>Vertical</enum> 398 <string>Save signature</string>
409 </property> 399 </property>
400 </widget>
401 <widget row="2" column="0" >
402 <class>QPushButton</class>
410 <property stdset="1"> 403 <property stdset="1">
411 <name>sizeType</name> 404 <name>name</name>
412 <enum>Expanding</enum> 405 <cstring>replyButton</cstring>
413 </property> 406 </property>
414 <property> 407 <property stdset="1">
415 <name>sizeHint</name> 408 <name>text</name>
416 <size> 409 <string>Reply-To</string>
417 <width>20</width>
418 <height>20</height>
419 </size>
420 </property> 410 </property>
421 </spacer> 411 </widget>
422 <widget row="1" column="0" > 412 <widget row="3" column="0" >
423 <class>QPushButton</class> 413 <class>QLabel</class>
424 <property stdset="1"> 414 <property stdset="1">
425 <name>name</name> 415 <name>name</name>
426 <cstring>ccButton</cstring> 416 <cstring>sigLabel</cstring>
427 </property> 417 </property>
428 <property stdset="1"> 418 <property stdset="1">
429 <name>text</name> 419 <name>text</name>
430 <string>CC</string> 420 <string>Signature</string>
431 </property> 421 </property>
432 </widget> 422 </widget>
433 </grid> 423 </grid>
434 </widget> 424 </widget>
435 <widget> 425 <widget>
436 <class>QWidget</class> 426 <class>QWidget</class>
437 <property stdset="1"> 427 <property stdset="1">
438 <name>name</name> 428 <name>name</name>
439 <cstring>attachTab</cstring> 429 <cstring>attachTab</cstring>
440 </property> 430 </property>
441 <attribute> 431 <attribute>
442 <name>title</name> 432 <name>title</name>
443 <string>Attachment</string> 433 <string>Attachment</string>
444 </attribute> 434 </attribute>
445 <grid> 435 <grid>
446 <property stdset="1"> 436 <property stdset="1">
447 <name>margin</name> 437 <name>margin</name>
448 <number>3</number> 438 <number>3</number>
449 </property> 439 </property>
450 <property stdset="1"> 440 <property stdset="1">
451 <name>spacing</name> 441 <name>spacing</name>
452 <number>3</number> 442 <number>3</number>
453 </property> 443 </property>
454 <widget row="0" column="0" rowspan="1" colspan="3" > 444 <widget row="0" column="0" rowspan="1" colspan="3" >
455 <class>QListView</class> 445 <class>QListView</class>
456 <property stdset="1"> 446 <property stdset="1">
457 <name>name</name> 447 <name>name</name>
458 <cstring>attList</cstring> 448 <cstring>attList</cstring>
459 </property> 449 </property>
460 <property stdset="1"> 450 <property stdset="1">
461 <name>selectionMode</name> 451 <name>selectionMode</name>
462 <enum>Single</enum> 452 <enum>Single</enum>
463 </property> 453 </property>
464 <property stdset="1"> 454 <property stdset="1">
465 <name>allColumnsShowFocus</name> 455 <name>allColumnsShowFocus</name>
466 <bool>true</bool> 456 <bool>true</bool>
467 </property> 457 </property>
468 <property stdset="1"> 458 <property stdset="1">
469 <name>showSortIndicator</name> 459 <name>showSortIndicator</name>
470 <bool>true</bool> 460 <bool>true</bool>
471 </property> 461 </property>
472 </widget> 462 </widget>
473 <widget row="1" column="2" > 463 <widget row="1" column="2" >
474 <class>QPushButton</class> 464 <class>QPushButton</class>
475 <property stdset="1"> 465 <property stdset="1">
476 <name>name</name> 466 <name>name</name>
477 <cstring>deleteButton</cstring> 467 <cstring>deleteButton</cstring>
478 </property> 468 </property>
479 <property stdset="1"> 469 <property stdset="1">
480 <name>text</name> 470 <name>text</name>
481 <string>Delete File</string> 471 <string>Delete File</string>
482 </property> 472 </property>
483 </widget> 473 </widget>
484 <widget row="1" column="0" > 474 <widget row="1" column="0" >
485 <class>QPushButton</class> 475 <class>QPushButton</class>
486 <property stdset="1"> 476 <property stdset="1">
487 <name>name</name> 477 <name>name</name>
488 <cstring>addButton</cstring> 478 <cstring>addButton</cstring>
489 </property> 479 </property>
490 <property stdset="1"> 480 <property stdset="1">
491 <name>text</name> 481 <name>text</name>
492 <string>Add File</string> 482 <string>Add File</string>
493 </property> 483 </property>
494 </widget> 484 </widget>
495 </grid> 485 </grid>
496 </widget> 486 </widget>
497 </widget> 487 </widget>
498 </vbox> 488 </vbox>
499 </widget> 489 </widget>
500 </vbox> 490 </vbox>
501</widget> 491</widget>
502<tabstops> 492<tabstops>
503 <tabstop>fromBox</tabstop> 493 <tabstop>fromBox</tabstop>
504 <tabstop>toButton</tabstop> 494 <tabstop>toButton</tabstop>
505 <tabstop>toLine</tabstop> 495 <tabstop>toLine</tabstop>
506 <tabstop>subjectLine</tabstop> 496 <tabstop>subjectLine</tabstop>
507 <tabstop>message</tabstop> 497 <tabstop>message</tabstop>
508 <tabstop>tabWidget</tabstop> 498 <tabstop>tabWidget</tabstop>
509 <tabstop>ccButton</tabstop> 499 <tabstop>ccButton</tabstop>
510 <tabstop>ccLine</tabstop> 500 <tabstop>ccLine</tabstop>
511 <tabstop>bccButton</tabstop> 501 <tabstop>bccButton</tabstop>
512 <tabstop>bccLine</tabstop> 502 <tabstop>bccLine</tabstop>
513 <tabstop>replyButton</tabstop> 503 <tabstop>replyButton</tabstop>
514 <tabstop>replyLine</tabstop> 504 <tabstop>replyLine</tabstop>
515 <tabstop>sigMultiLine</tabstop> 505 <tabstop>sigMultiLine</tabstop>
516 <tabstop>attList</tabstop> 506 <tabstop>attList</tabstop>
517 <tabstop>addButton</tabstop> 507 <tabstop>addButton</tabstop>
518 <tabstop>deleteButton</tabstop> 508 <tabstop>deleteButton</tabstop>
519</tabstops> 509</tabstops>
520</UI> 510</UI>
diff --git a/kmicromail/editaccounts.cpp b/kmicromail/editaccounts.cpp
index 48c3963..8253c91 100644
--- a/kmicromail/editaccounts.cpp
+++ b/kmicromail/editaccounts.cpp
@@ -1,117 +1,118 @@
1 1
2#include <qdialog.h> 2#include <qdialog.h>
3#include "kapplication.h" 3#include "kapplication.h"
4#include "defines.h" 4#include "defines.h"
5#include "editaccounts.h" 5#include "editaccounts.h"
6/* OPIE */ 6/* OPIE */
7#include <qpe/qpeapplication.h> 7#include <qpe/qpeapplication.h>
8 8
9/* QT */ 9/* QT */
10#include <qstringlist.h> 10#include <qstringlist.h>
11 11
12#include <qcombobox.h> 12#include <qcombobox.h>
13#include <qcheckbox.h> 13#include <qcheckbox.h>
14#include <qmessagebox.h> 14#include <qmessagebox.h>
15#include <qpushbutton.h> 15#include <qpushbutton.h>
16#include <qlineedit.h> 16#include <qlineedit.h>
17#include <qlabel.h> 17#include <qlabel.h>
18#include <qtabwidget.h> 18#include <qtabwidget.h>
19#include <qlistview.h> 19#include <qlistview.h>
20#include <qspinbox.h> 20#include <qspinbox.h>
21#include <klocale.h> 21#include <klocale.h>
22#include <kfiledialog.h>
22 23
23#include <libmailwrapper/nntpwrapper.h> 24#include <libmailwrapper/nntpwrapper.h>
24 25
25using namespace Opie::Core; 26using namespace Opie::Core;
26 27
27AccountListItem::AccountListItem( QListView *parent, Account *a) 28AccountListItem::AccountListItem( QListView *parent, Account *a)
28 : QListViewItem( parent ) 29 : QListViewItem( parent )
29{ 30{
30 account = a; 31 account = a;
31 setText( 0, account->getAccountName() ); 32 setText( 0, account->getAccountName() );
32 QString ttext = ""; 33 QString ttext = "";
33 switch (account->getType()) { 34 switch (account->getType()) {
34 case MAILLIB::A_NNTP: 35 case MAILLIB::A_NNTP:
35 ttext="NNTP"; 36 ttext="NNTP";
36 break; 37 break;
37 case MAILLIB::A_POP3: 38 case MAILLIB::A_POP3:
38 ttext = "POP3"; 39 ttext = "POP3";
39 break; 40 break;
40 case MAILLIB::A_IMAP: 41 case MAILLIB::A_IMAP:
41 ttext = "IMAP"; 42 ttext = "IMAP";
42 break; 43 break;
43 case MAILLIB::A_SMTP: 44 case MAILLIB::A_SMTP:
44 ttext = "SMTP"; 45 ttext = "SMTP";
45 break; 46 break;
46 default: 47 default:
47 ttext = "UNKNOWN"; 48 ttext = "UNKNOWN";
48 break; 49 break;
49 } 50 }
50 setText( 1, ttext); 51 setText( 1, ttext);
51} 52}
52 53
53EditAccounts::EditAccounts( Settings *s, QWidget *parent, const char *name, bool modal, WFlags flags ) 54EditAccounts::EditAccounts( Settings *s, QWidget *parent, const char *name, bool modal, WFlags flags )
54 : EditAccountsUI( parent, name, modal, flags ) 55 : EditAccountsUI( parent, name, modal, flags )
55{ 56{
56 settings = s; 57 settings = s;
57 58
58 mailList->addColumn( i18n( "Account" ) ); 59 mailList->addColumn( i18n( "Account" ) );
59 mailList->addColumn( i18n( "Type" ) ); 60 mailList->addColumn( i18n( "Type" ) );
60 61
61 newsList->addColumn( i18n( "Account" ) ); 62 newsList->addColumn( i18n( "Account" ) );
62 63
63 connect( newMail, SIGNAL( clicked() ), SLOT( slotNewMail() ) ); 64 connect( newMail, SIGNAL( clicked() ), SLOT( slotNewMail() ) );
64 connect( editMail, SIGNAL( clicked() ), SLOT( slotEditMail() ) ); 65 connect( editMail, SIGNAL( clicked() ), SLOT( slotEditMail() ) );
65 connect( deleteMail, SIGNAL( clicked() ), SLOT( slotDeleteMail() ) ); 66 connect( deleteMail, SIGNAL( clicked() ), SLOT( slotDeleteMail() ) );
66 connect( newNews, SIGNAL( clicked() ), SLOT( slotNewNews() ) ); 67 connect( newNews, SIGNAL( clicked() ), SLOT( slotNewNews() ) );
67 connect( editNews, SIGNAL( clicked() ), SLOT( slotEditNews() ) ); 68 connect( editNews, SIGNAL( clicked() ), SLOT( slotEditNews() ) );
68 connect( deleteNews, SIGNAL( clicked() ), SLOT( slotDeleteNews() ) ); 69 connect( deleteNews, SIGNAL( clicked() ), SLOT( slotDeleteNews() ) );
69 70
70 slotFillLists(); 71 slotFillLists();
71} 72}
72 73
73void EditAccounts::slotFillLists() 74void EditAccounts::slotFillLists()
74{ 75{
75 mailList->clear(); 76 mailList->clear();
76 newsList->clear(); 77 newsList->clear();
77 78
78 QList<Account> accounts = settings->getAccounts(); 79 QList<Account> accounts = settings->getAccounts();
79 Account *it; 80 Account *it;
80 for ( it = accounts.first(); it; it = accounts.next() ) 81 for ( it = accounts.first(); it; it = accounts.next() )
81 { 82 {
82 if ( it->getType()==MAILLIB::A_NNTP ) 83 if ( it->getType()==MAILLIB::A_NNTP )
83 { 84 {
84 (void) new AccountListItem( newsList, it ); 85 (void) new AccountListItem( newsList, it );
85 } 86 }
86 else 87 else
87 { 88 {
88 (void) new AccountListItem( mailList, it ); 89 (void) new AccountListItem( mailList, it );
89 } 90 }
90 } 91 }
91} 92}
92 93
93void EditAccounts::slotNewMail() 94void EditAccounts::slotNewMail()
94{ 95{
95 QString *selection = new QString(); 96 QString *selection = new QString();
96 SelectMailType selType( selection, this, 0, true ); 97 SelectMailType selType( selection, this, 0, true );
97 selType.show(); 98 selType.show();
98 if ( QDialog::Accepted == selType.exec() ) 99 if ( QDialog::Accepted == selType.exec() )
99 { 100 {
100 slotNewAccount( *selection ); 101 slotNewAccount( *selection );
101 } 102 }
102} 103}
103 104
104void EditAccounts::slotNewAccount( const QString &type ) 105void EditAccounts::slotNewAccount( const QString &type )
105{ 106{
106 if ( type.compare( i18n("IMAP") ) == 0 ) 107 if ( type.compare( i18n("IMAP") ) == 0 )
107 { 108 {
108 IMAPaccount *account = new IMAPaccount(); 109 IMAPaccount *account = new IMAPaccount();
109 IMAPconfig imap( account, this, 0, true ); 110 IMAPconfig imap( account, this, 0, true );
110 111
111#ifndef DESKTOP_VERSION 112#ifndef DESKTOP_VERSION
112 imap.showMaximized(); 113 imap.showMaximized();
113#endif 114#endif
114 if ( QDialog::Accepted == imap.exec() ) 115 if ( QDialog::Accepted == imap.exec() )
115 { 116 {
116 settings->addAccount( account ); 117 settings->addAccount( account );
117 account->save(); 118 account->save();
@@ -386,240 +387,254 @@ void IMAPconfig::accept()
386 data->setConnectionType( ComboBox1->currentItem() ); 387 data->setConnectionType( ComboBox1->currentItem() );
387 data->setUser( userLine->text() ); 388 data->setUser( userLine->text() );
388 data->setPassword( passLine->text() ); 389 data->setPassword( passLine->text() );
389 data->setPrefix(prefixLine->text()); 390 data->setPrefix(prefixLine->text());
390 data->setLocalFolder( localFolder->text() ); 391 data->setLocalFolder( localFolder->text() );
391 data->setMaxMailSize( CheckBoxDown->isChecked()?SpinBoxDown->value():0 ) ; 392 data->setMaxMailSize( CheckBoxDown->isChecked()?SpinBoxDown->value():0 ) ;
392 data->setLeaveOnServer( CheckBoxLeaveOn->isChecked() ); 393 data->setLeaveOnServer( CheckBoxLeaveOn->isChecked() );
393 394
394 QDialog::accept(); 395 QDialog::accept();
395} 396}
396 397
397/** 398/**
398 * POP3config 399 * POP3config
399 */ 400 */
400 401
401POP3config::POP3config( POP3account *account, QWidget *parent, const char *name, bool modal, WFlags flags ) 402POP3config::POP3config( POP3account *account, QWidget *parent, const char *name, bool modal, WFlags flags )
402 : POP3configUI( parent, name, modal, flags ) 403 : POP3configUI( parent, name, modal, flags )
403{ 404{
404 data = account; 405 data = account;
405 fillValues(); 406 fillValues();
406 407
407 connect( ComboBox1, SIGNAL( activated(int) ), SLOT( slotConnectionToggle(int) ) ); 408 connect( ComboBox1, SIGNAL( activated(int) ), SLOT( slotConnectionToggle(int) ) );
408 ComboBox1->insertItem( "Only if available", 0 ); 409 ComboBox1->insertItem( "Only if available", 0 );
409 ComboBox1->insertItem( "Always, Negotiated", 1 ); 410 ComboBox1->insertItem( "Always, Negotiated", 1 );
410 ComboBox1->insertItem( "Connect on secure port", 2 ); 411 ComboBox1->insertItem( "Connect on secure port", 2 );
411 ComboBox1->insertItem( "Run command instead", 3 ); 412 ComboBox1->insertItem( "Run command instead", 3 );
412 CommandEdit->hide(); 413 CommandEdit->hide();
413 ComboBox1->setCurrentItem( data->ConnectionType() ); 414 ComboBox1->setCurrentItem( data->ConnectionType() );
414} 415}
415 416
416void POP3config::slotConnectionToggle( int index ) 417void POP3config::slotConnectionToggle( int index )
417{ 418{
418 // 2 is ssl connection 419 // 2 is ssl connection
419 if ( index == 2 ) 420 if ( index == 2 )
420 { 421 {
421 portLine->setText( POP3_SSL_PORT ); 422 portLine->setText( POP3_SSL_PORT );
422 } 423 }
423 else if ( index == 3 ) 424 else if ( index == 3 )
424 { 425 {
425 portLine->setText( POP3_PORT ); 426 portLine->setText( POP3_PORT );
426 CommandEdit->show(); 427 CommandEdit->show();
427 } 428 }
428 else 429 else
429 { 430 {
430 portLine->setText( POP3_PORT ); 431 portLine->setText( POP3_PORT );
431 } 432 }
432} 433}
433 434
434void POP3config::fillValues() 435void POP3config::fillValues()
435{ 436{
436 accountLine->setText( data->getAccountName() ); 437 accountLine->setText( data->getAccountName() );
437 serverLine->setText( data->getServer() ); 438 serverLine->setText( data->getServer() );
438 portLine->setText( data->getPort() ); 439 portLine->setText( data->getPort() );
439 ComboBox1->setCurrentItem( data->ConnectionType() ); 440 ComboBox1->setCurrentItem( data->ConnectionType() );
440 userLine->setText( data->getUser() ); 441 userLine->setText( data->getUser() );
441 passLine->setText( data->getPassword() ); 442 passLine->setText( data->getPassword() );
442 localFolder->setText( data->getLocalFolder() ); 443 localFolder->setText( data->getLocalFolder() );
443 int max = data->getMaxMailSize() ; 444 int max = data->getMaxMailSize() ;
444 if ( max ) { 445 if ( max ) {
445 CheckBoxDown->setChecked( true ); 446 CheckBoxDown->setChecked( true );
446 SpinBoxDown->setValue ( max ); 447 SpinBoxDown->setValue ( max );
447 } else { 448 } else {
448 CheckBoxDown->setChecked( false ); 449 CheckBoxDown->setChecked( false );
449 SpinBoxDown->setValue ( 5 ); 450 SpinBoxDown->setValue ( 5 );
450 } 451 }
451 CheckBoxLeaveOn->setChecked( data->getLeaveOnServer() ); 452 CheckBoxLeaveOn->setChecked( data->getLeaveOnServer() );
452} 453}
453 454
454void POP3config::accept() 455void POP3config::accept()
455{ 456{
456 data->setAccountName( accountLine->text() ); 457 data->setAccountName( accountLine->text() );
457 data->setServer( serverLine->text() ); 458 data->setServer( serverLine->text() );
458 data->setPort( portLine->text() ); 459 data->setPort( portLine->text() );
459 data->setConnectionType( ComboBox1->currentItem() ); 460 data->setConnectionType( ComboBox1->currentItem() );
460 data->setUser( userLine->text() ); 461 data->setUser( userLine->text() );
461 data->setPassword( passLine->text() ); 462 data->setPassword( passLine->text() );
462 data->setLocalFolder( localFolder->text() ); 463 data->setLocalFolder( localFolder->text() );
463 data->setMaxMailSize( CheckBoxDown->isChecked()?SpinBoxDown->value():0 ) ; 464 data->setMaxMailSize( CheckBoxDown->isChecked()?SpinBoxDown->value():0 ) ;
464 data->setLeaveOnServer( CheckBoxLeaveOn->isChecked() ); 465 data->setLeaveOnServer( CheckBoxLeaveOn->isChecked() );
465 466
466 QDialog::accept(); 467 QDialog::accept();
467} 468}
468 469
469/** 470/**
470 * SMTPconfig 471 * SMTPconfig
471 */ 472 */
472 473
473SMTPconfig::SMTPconfig( SMTPaccount *account, QWidget *parent, const char *name, bool modal, WFlags flags ) 474SMTPconfig::SMTPconfig( SMTPaccount *account, QWidget *parent, const char *name, bool modal, WFlags flags )
474 : SMTPconfigUI( parent, name, modal, flags ) 475 : SMTPconfigUI( parent, name, modal, flags )
475{ 476{
476 data = account; 477 data = account;
477 478
478 connect( loginBox, SIGNAL( toggled(bool) ), userLine, SLOT( setEnabled(bool) ) ); 479 connect( loginBox, SIGNAL( toggled(bool) ), userLine, SLOT( setEnabled(bool) ) );
479 connect( loginBox, SIGNAL( toggled(bool) ), passLine, SLOT( setEnabled(bool) ) ); 480 connect( loginBox, SIGNAL( toggled(bool) ), passLine, SLOT( setEnabled(bool) ) );
480 481
481 fillValues(); 482 fillValues();
482 483 QIconSet icon;
484 //icon = SmallIcon("fileexport");
485 icon = SmallIcon("fileopen");
486 SignaturButton->setText("");
487 SignaturButton->setIconSet (icon ) ;
488 SignaturButton->setMaximumSize ( SignaturButton->sizeHint().height()+4,SignaturButton->sizeHint().height()) ;
489 connect( SignaturButton, SIGNAL( clicked() ), this, SLOT( chooseSig() ) );
483 connect( ComboBox1, SIGNAL( activated(int) ), SLOT( slotConnectionToggle(int) ) ); 490 connect( ComboBox1, SIGNAL( activated(int) ), SLOT( slotConnectionToggle(int) ) );
484 ComboBox1->insertItem( "Only if available", 0 ); 491 ComboBox1->insertItem( "Only if available", 0 );
485 ComboBox1->insertItem( "Always, Negotiated", 1 ); 492 ComboBox1->insertItem( "Always, Negotiated", 1 );
486 ComboBox1->insertItem( "Connect on secure port", 2 ); 493 ComboBox1->insertItem( "Connect on secure port", 2 );
487 ComboBox1->insertItem( "Run command instead", 3 ); 494 ComboBox1->insertItem( "Run command instead", 3 );
488 CommandEdit->hide(); 495 CommandEdit->hide();
489 ComboBox1->setCurrentItem( data->ConnectionType() ); 496 ComboBox1->setCurrentItem( data->ConnectionType() );
490} 497}
491 498void SMTPconfig::chooseSig()
499{
500 QString lnk = KFileDialog::getOpenFileName( "", "Choose Signatur File", this );
501 if ( !lnk.isEmpty() ) {
502 SignaturEdit->setText( lnk );
503 }
504}
492void SMTPconfig::slotConnectionToggle( int index ) 505void SMTPconfig::slotConnectionToggle( int index )
493{ 506{
494 // 2 is ssl connection 507 // 2 is ssl connection
495 if ( index == 2 ) 508 if ( index == 2 )
496 { 509 {
497 portLine->setText( SMTP_SSL_PORT ); 510 portLine->setText( SMTP_SSL_PORT );
498 } 511 }
499 else if ( index == 3 ) 512 else if ( index == 3 )
500 { 513 {
501 portLine->setText( SMTP_PORT ); 514 portLine->setText( SMTP_PORT );
502 CommandEdit->show(); 515 CommandEdit->show();
503 } 516 }
504 else 517 else
505 { 518 {
506 portLine->setText( SMTP_PORT ); 519 portLine->setText( SMTP_PORT );
507 } 520 }
508} 521}
509 522
510void SMTPconfig::fillValues() 523void SMTPconfig::fillValues()
511{ 524{
512 accountLine->setText( data->getAccountName() ); 525 accountLine->setText( data->getAccountName() );
513 serverLine->setText( data->getServer() ); 526 serverLine->setText( data->getServer() );
514 portLine->setText( data->getPort() ); 527 portLine->setText( data->getPort() );
515 ComboBox1->setCurrentItem( data->ConnectionType() ); 528 ComboBox1->setCurrentItem( data->ConnectionType() );
516 loginBox->setChecked( data->getLogin() ); 529 loginBox->setChecked( data->getLogin() );
517 userLine->setText( data->getUser() ); 530 userLine->setText( data->getUser() );
518 passLine->setText( data->getPassword() ); 531 passLine->setText( data->getPassword() );
532 SignaturEdit->setText( data->getSigFile() );
519} 533}
520 534
521void SMTPconfig::accept() 535void SMTPconfig::accept()
522{ 536{
523 data->setAccountName( accountLine->text() ); 537 data->setAccountName( accountLine->text() );
524 data->setServer( serverLine->text() ); 538 data->setServer( serverLine->text() );
525 data->setPort( portLine->text() ); 539 data->setPort( portLine->text() );
526 data->setConnectionType( ComboBox1->currentItem() ); 540 data->setConnectionType( ComboBox1->currentItem() );
527 data->setLogin( loginBox->isChecked() ); 541 data->setLogin( loginBox->isChecked() );
528 data->setUser( userLine->text() ); 542 data->setUser( userLine->text() );
529 data->setPassword( passLine->text() ); 543 data->setPassword( passLine->text() );
544 data->setSigFile( SignaturEdit->text() );
530 545
531 QDialog::accept(); 546 QDialog::accept();
532} 547}
533 548
534/** 549/**
535 * NNTPconfig 550 * NNTPconfig
536 */ 551 */
537 552
538NNTPconfig::NNTPconfig( NNTPaccount *account, QWidget *parent, const char *name, bool modal, WFlags flags ) 553NNTPconfig::NNTPconfig( NNTPaccount *account, QWidget *parent, const char *name, bool modal, WFlags flags )
539 : NNTPconfigUI( parent, name, modal, flags ) 554 : NNTPconfigUI( parent, name, modal, flags )
540{ 555{
541 data = account; 556 data = account;
542 557
543 connect( loginBox, SIGNAL( toggled(bool) ), userLine, SLOT( setEnabled(bool) ) ); 558 connect( loginBox, SIGNAL( toggled(bool) ), userLine, SLOT( setEnabled(bool) ) );
544 connect( loginBox, SIGNAL( toggled(bool) ), passLine, SLOT( setEnabled(bool) ) ); 559 connect( loginBox, SIGNAL( toggled(bool) ), passLine, SLOT( setEnabled(bool) ) );
545 connect( GetNGButton, SIGNAL( clicked() ), this, SLOT( slotGetNG() ) ); 560 connect( GetNGButton, SIGNAL( clicked() ), this, SLOT( slotGetNG() ) );
546 connect( ShowSubcribed, SIGNAL( clicked() ), this, SLOT( slotShowSub() ) ); 561 connect( ShowSubcribed, SIGNAL( clicked() ), this, SLOT( slotShowSub() ) );
547 connect( FilterButton, SIGNAL( clicked() ), this, SLOT( slotShowFilter() ) ); 562 connect( FilterButton, SIGNAL( clicked() ), this, SLOT( slotShowFilter() ) );
548 fillValues(); 563 fillValues();
549 564
550 connect( sslBox, SIGNAL( toggled(bool) ), SLOT( slotSSL(bool) ) ); 565 connect( sslBox, SIGNAL( toggled(bool) ), SLOT( slotSSL(bool) ) );
551} 566}
552 567
553void NNTPconfig::slotShowSub() 568void NNTPconfig::slotShowSub()
554{ 569{
555 save(); 570 save();
556 data->save(); 571 data->save();
557 ListViewGroups->clear(); 572 ListViewGroups->clear();
558 for ( QStringList::Iterator it = subscribedGroups.begin(); it != subscribedGroups.end(); ++it ) { 573 for ( QStringList::Iterator it = subscribedGroups.begin(); it != subscribedGroups.end(); ++it ) {
559 QCheckListItem *item; 574 QCheckListItem *item;
560 item = new QCheckListItem( ListViewGroups, (*it), QCheckListItem::CheckBox ); 575 item = new QCheckListItem( ListViewGroups, (*it), QCheckListItem::CheckBox );
561 item->setOn( true ); 576 item->setOn( true );
562 } 577 }
563 topLevelWidget()->setCaption( i18n("%1 groups subscribed").arg( subscribedGroups.count())); 578 topLevelWidget()->setCaption( i18n("%1 groups subscribed").arg( subscribedGroups.count()));
564} 579}
565void NNTPconfig::slotShowFilter() 580void NNTPconfig::slotShowFilter()
566{ 581{
567 save(); 582 save();
568 data->save(); 583 data->save();
569 ListViewGroups->clear(); 584 ListViewGroups->clear();
570 int count = 0; 585 int count = 0;
571 for ( QStringList::Iterator it = allGroups.begin(); it != allGroups.end(); ++it ) { 586 for ( QStringList::Iterator it = allGroups.begin(); it != allGroups.end(); ++it ) {
572 QCheckListItem *item; 587 QCheckListItem *item;
573 if ( GroupFilter->text().isEmpty() || (*it).find( GroupFilter->text() ) >= 0 ) { 588 if ( GroupFilter->text().isEmpty() || (*it).find( GroupFilter->text() ) >= 0 ) {
574 item = new QCheckListItem( ListViewGroups, (*it), QCheckListItem::CheckBox ); 589 item = new QCheckListItem( ListViewGroups, (*it), QCheckListItem::CheckBox );
575 ++count; 590 ++count;
576 if ( subscribedGroups.contains( (*it) ) >= 1 ) { 591 if ( subscribedGroups.contains( (*it) ) >= 1 ) {
577 item->setOn( true ); 592 item->setOn( true );
578 } 593 }
579 } 594 }
580 } 595 }
581 topLevelWidget()->setCaption( i18n("Filter found %1 groups").arg( count)); 596 topLevelWidget()->setCaption( i18n("Filter found %1 groups").arg( count));
582} 597}
583void NNTPconfig::slotGetNG() { 598void NNTPconfig::slotGetNG() {
584 save(); 599 save();
585 data->save(); 600 data->save();
586 topLevelWidget()->setCaption( i18n("Fetching group list...")); 601 topLevelWidget()->setCaption( i18n("Fetching group list..."));
587 qApp->processEvents(); 602 qApp->processEvents();
588 NNTPwrapper* tmp = new NNTPwrapper( data ); 603 NNTPwrapper* tmp = new NNTPwrapper( data );
589 allGroups = tmp->listAllNewsgroups(); 604 allGroups = tmp->listAllNewsgroups();
590 topLevelWidget()->setCaption( i18n("Downloaded %1 group names").arg( allGroups.count())); 605 topLevelWidget()->setCaption( i18n("Downloaded %1 group names").arg( allGroups.count()));
591 606
592 ListViewGroups->clear(); 607 ListViewGroups->clear();
593 608
594 for ( QStringList::Iterator it = allGroups.begin(); it != allGroups.end(); ++it ) { 609 for ( QStringList::Iterator it = allGroups.begin(); it != allGroups.end(); ++it ) {
595 QCheckListItem *item; 610 QCheckListItem *item;
596 item = new QCheckListItem( ListViewGroups, (*it), QCheckListItem::CheckBox ); 611 item = new QCheckListItem( ListViewGroups, (*it), QCheckListItem::CheckBox );
597 if ( subscribedGroups.contains( (*it) ) >= 1 ) { 612 if ( subscribedGroups.contains( (*it) ) >= 1 ) {
598 item->setOn( true ); 613 item->setOn( true );
599 614
600 } 615 }
601 } 616 }
602 delete tmp; 617 delete tmp;
603} 618}
604 619
605void NNTPconfig::slotSSL( bool enabled ) 620void NNTPconfig::slotSSL( bool enabled )
606{ 621{
607 if ( enabled ) 622 if ( enabled )
608 { 623 {
609 portLine->setText( NNTP_SSL_PORT ); 624 portLine->setText( NNTP_SSL_PORT );
610 } 625 }
611 else 626 else
612 { 627 {
613 portLine->setText( NNTP_PORT ); 628 portLine->setText( NNTP_PORT );
614 } 629 }
615} 630}
616 631
617void NNTPconfig::fillValues() 632void NNTPconfig::fillValues()
618{ 633{
619 accountLine->setText( data->getAccountName() ); 634 accountLine->setText( data->getAccountName() );
620 serverLine->setText( data->getServer() ); 635 serverLine->setText( data->getServer() );
621 portLine->setText( data->getPort() ); 636 portLine->setText( data->getPort() );
622 sslBox->setChecked( data->getSSL() ); 637 sslBox->setChecked( data->getSSL() );
623 loginBox->setChecked( data->getLogin() ); 638 loginBox->setChecked( data->getLogin() );
624 userLine->setText( data->getUser() ); 639 userLine->setText( data->getUser() );
625 passLine->setText( data->getPassword() ); 640 passLine->setText( data->getPassword() );
diff --git a/kmicromail/editaccounts.h b/kmicromail/editaccounts.h
index 6cf842e..465780c 100644
--- a/kmicromail/editaccounts.h
+++ b/kmicromail/editaccounts.h
@@ -28,129 +28,130 @@ private:
28}; 28};
29 29
30class EditAccounts : public EditAccountsUI 30class EditAccounts : public EditAccountsUI
31{ 31{
32 Q_OBJECT 32 Q_OBJECT
33 33
34public: 34public:
35 EditAccounts( Settings *s, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 ); 35 EditAccounts( Settings *s, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 );
36 36
37public slots: 37public slots:
38 void slotNewAccount( const QString &type ); 38 void slotNewAccount( const QString &type );
39 void slotEditAccount( Account *account ); 39 void slotEditAccount( Account *account );
40 void slotDeleteAccount( Account * account ); 40 void slotDeleteAccount( Account * account );
41 void slotAdjustColumns(); 41 void slotAdjustColumns();
42 42
43protected slots: 43protected slots:
44 void slotFillLists(); 44 void slotFillLists();
45 void slotNewMail(); 45 void slotNewMail();
46 void slotEditMail(); 46 void slotEditMail();
47 void slotDeleteMail(); 47 void slotDeleteMail();
48 void slotNewNews(); 48 void slotNewNews();
49 void slotEditNews(); 49 void slotEditNews();
50 void slotDeleteNews(); 50 void slotDeleteNews();
51 void accept(); 51 void accept();
52 52
53private: 53private:
54 Settings *settings; 54 Settings *settings;
55 55
56}; 56};
57 57
58class SelectMailType : public SelectMailTypeUI 58class SelectMailType : public SelectMailTypeUI
59{ 59{
60 Q_OBJECT 60 Q_OBJECT
61 61
62public: 62public:
63 SelectMailType( QString *selection = 0, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 ); 63 SelectMailType( QString *selection = 0, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 );
64 64
65private slots: 65private slots:
66 void slotSelection( const QString &sel ); 66 void slotSelection( const QString &sel );
67 67
68private: 68private:
69 QString *selected; 69 QString *selected;
70 70
71}; 71};
72 72
73class IMAPconfig : public IMAPconfigUI 73class IMAPconfig : public IMAPconfigUI
74{ 74{
75 Q_OBJECT 75 Q_OBJECT
76 76
77public: 77public:
78 IMAPconfig( IMAPaccount *account, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 ); 78 IMAPconfig( IMAPaccount *account, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 );
79 79
80public slots: 80public slots:
81 void fillValues(); 81 void fillValues();
82 82
83protected slots: 83protected slots:
84 void slotConnectionToggle( int index ); 84 void slotConnectionToggle( int index );
85 void accept(); 85 void accept();
86 86
87private: 87private:
88 IMAPaccount *data; 88 IMAPaccount *data;
89 89
90}; 90};
91 91
92class POP3config : public POP3configUI 92class POP3config : public POP3configUI
93{ 93{
94 Q_OBJECT 94 Q_OBJECT
95 95
96public: 96public:
97 POP3config( POP3account *account, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 ); 97 POP3config( POP3account *account, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 );
98 98
99public slots: 99public slots:
100 void fillValues(); 100 void fillValues();
101 101
102protected slots: 102protected slots:
103 void slotConnectionToggle( int index ); 103 void slotConnectionToggle( int index );
104 void accept(); 104 void accept();
105 105
106private: 106private:
107 POP3account *data; 107 POP3account *data;
108 108
109}; 109};
110 110
111class SMTPconfig : public SMTPconfigUI 111class SMTPconfig : public SMTPconfigUI
112{ 112{
113 Q_OBJECT 113 Q_OBJECT
114 114
115public: 115public:
116 SMTPconfig( SMTPaccount *account, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 ); 116 SMTPconfig( SMTPaccount *account, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 );
117 117
118public slots: 118public slots:
119 void fillValues(); 119 void fillValues();
120 120
121protected slots: 121protected slots:
122 void slotConnectionToggle( int index ); 122 void slotConnectionToggle( int index );
123 void accept(); 123 void accept();
124 void chooseSig();
124 125
125private: 126private:
126 SMTPaccount *data; 127 SMTPaccount *data;
127 128
128}; 129};
129 130
130class NNTPconfig : public NNTPconfigUI 131class NNTPconfig : public NNTPconfigUI
131{ 132{
132 Q_OBJECT 133 Q_OBJECT
133 134
134public: 135public:
135 NNTPconfig( NNTPaccount *account, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 ); 136 NNTPconfig( NNTPaccount *account, QWidget *parent = 0, const char *name = 0, bool modal = 0, WFlags flags = 0 );
136 137
137public slots: 138public slots:
138 void fillValues(); 139 void fillValues();
139 140
140protected slots: 141protected slots:
141 void slotSSL( bool enabled ); 142 void slotSSL( bool enabled );
142 void accept(); 143 void accept();
143 void slotGetNG(); 144 void slotGetNG();
144 void slotShowSub(); 145 void slotShowSub();
145 void slotShowFilter(); 146 void slotShowFilter();
146 147
147private: 148private:
148 QStringList subscribedGroups; 149 QStringList subscribedGroups;
149 QStringList allGroups; 150 QStringList allGroups;
150 void save(); 151 void save();
151 NNTPaccount *data; 152 NNTPaccount *data;
152 clist* list; 153 clist* list;
153 154
154}; 155};
155 156
156#endif 157#endif
diff --git a/kmicromail/libmailwrapper/settings.cpp b/kmicromail/libmailwrapper/settings.cpp
index 19093b1..8f909f9 100644
--- a/kmicromail/libmailwrapper/settings.cpp
+++ b/kmicromail/libmailwrapper/settings.cpp
@@ -1,99 +1,103 @@
1#include <stdlib.h> 1#include <stdlib.h>
2#include <qdir.h> 2#include <qdir.h>
3 3
4#include <qtextcodec.h>
5#include <qtextstream.h>
6#include <qfile.h>
7
4//#include <opie2/odebug.h> 8//#include <opie2/odebug.h>
5#include <kconfig.h> 9#include <kconfig.h>
6 10
7#include <kstandarddirs.h> 11#include <kstandarddirs.h>
8#include "settings.h" 12#include "settings.h"
9//#include "defines.h" 13//#include "defines.h"
10 14
11#define IMAP_PORT "143" 15#define IMAP_PORT "143"
12#define IMAP_SSL_PORT "993" 16#define IMAP_SSL_PORT "993"
13#define SMTP_PORT "25" 17#define SMTP_PORT "25"
14#define SMTP_SSL_PORT "465" 18#define SMTP_SSL_PORT "465"
15#define POP3_PORT "110" 19#define POP3_PORT "110"
16#define POP3_SSL_PORT "995" 20#define POP3_SSL_PORT "995"
17#define NNTP_PORT "119" 21#define NNTP_PORT "119"
18#define NNTP_SSL_PORT "563" 22#define NNTP_SSL_PORT "563"
19 23
20 24
21Settings::Settings() 25Settings::Settings()
22 : QObject() 26 : QObject()
23{ 27{
24 accounts.setAutoDelete( true ); ; 28 accounts.setAutoDelete( true ); ;
25 updateAccounts(); 29 updateAccounts();
26 //qDebug("++++++++++++++++++new settings "); 30 //qDebug("++++++++++++++++++new settings ");
27} 31}
28 32
29void Settings::checkDirectory() 33void Settings::checkDirectory()
30{ 34{
31 return; 35 return;
32 locateLocal("data", "kopiemail" ); 36 locateLocal("data", "kopiemail" );
33 /* 37 /*
34 if ( !QDir( (QString) getenv( "HOME" ) + "/Applications/opiemail/" ).exists() ) { 38 if ( !QDir( (QString) getenv( "HOME" ) + "/Applications/opiemail/" ).exists() ) {
35 system( "mkdir -p $HOME/Applications/opiemail" ); 39 system( "mkdir -p $HOME/Applications/opiemail" );
36 qDebug("$HOME/Applications/opiemail created "); 40 qDebug("$HOME/Applications/opiemail created ");
37 } 41 }
38 */ 42 */
39} 43}
40 44
41QList<Account> Settings::getAccounts() 45QList<Account> Settings::getAccounts()
42{ 46{
43 return accounts; 47 return accounts;
44} 48}
45 49
46void Settings::addAccount( Account *account ) 50void Settings::addAccount( Account *account )
47{ 51{
48 accounts.append( account ); 52 accounts.append( account );
49} 53}
50 54
51void Settings::delAccount( Account *account ) 55void Settings::delAccount( Account *account )
52{ 56{
53 account->remove(); 57 account->remove();
54 accounts.remove( account ); 58 accounts.remove( account );
55} 59}
56 60
57void Settings::updateAccounts() 61void Settings::updateAccounts()
58{ 62{
59 accounts.clear(); 63 accounts.clear();
60 QDir dir( locateLocal("data", "kopiemail" ) ); 64 QDir dir( locateLocal("data", "kopiemail" ) );
61 QStringList::Iterator it; 65 QStringList::Iterator it;
62 66
63 QStringList imap = dir.entryList( "imap-*" ); 67 QStringList imap = dir.entryList( "imap-*" );
64 for ( it = imap.begin(); it != imap.end(); it++ ) { 68 for ( it = imap.begin(); it != imap.end(); it++ ) {
65 IMAPaccount *account = new IMAPaccount( (*it).replace(0, 5, "") ); 69 IMAPaccount *account = new IMAPaccount( (*it).replace(0, 5, "") );
66 accounts.append( account ); 70 accounts.append( account );
67 } 71 }
68 72
69 QStringList pop3 = dir.entryList( "pop3-*" ); 73 QStringList pop3 = dir.entryList( "pop3-*" );
70 for ( it = pop3.begin(); it != pop3.end(); it++ ) { 74 for ( it = pop3.begin(); it != pop3.end(); it++ ) {
71 POP3account *account = new POP3account( (*it).replace(0, 5, "") ); 75 POP3account *account = new POP3account( (*it).replace(0, 5, "") );
72 accounts.append( account ); 76 accounts.append( account );
73 } 77 }
74 78
75 QStringList smtp = dir.entryList( "smtp-*" ); 79 QStringList smtp = dir.entryList( "smtp-*" );
76 for ( it = smtp.begin(); it != smtp.end(); it++ ) { 80 for ( it = smtp.begin(); it != smtp.end(); it++ ) {
77 SMTPaccount *account = new SMTPaccount( (*it).replace(0, 5, "") ); 81 SMTPaccount *account = new SMTPaccount( (*it).replace(0, 5, "") );
78 accounts.append( account ); 82 accounts.append( account );
79 } 83 }
80 84
81 QStringList nntp = dir.entryList( "nntp-*" ); 85 QStringList nntp = dir.entryList( "nntp-*" );
82 for ( it = nntp.begin(); it != nntp.end(); it++ ) { 86 for ( it = nntp.begin(); it != nntp.end(); it++ ) {
83 NNTPaccount *account = new NNTPaccount( (*it).replace(0, 5, "") ); 87 NNTPaccount *account = new NNTPaccount( (*it).replace(0, 5, "") );
84 accounts.append( account ); 88 accounts.append( account );
85 } 89 }
86 90
87 readAccounts(); 91 readAccounts();
88} 92}
89 93
90void Settings::saveAccounts() 94void Settings::saveAccounts()
91{ 95{
92 checkDirectory(); 96 checkDirectory();
93 Account *it; 97 Account *it;
94 98
95 for ( it = accounts.first(); it; it = accounts.next() ) { 99 for ( it = accounts.first(); it; it = accounts.next() ) {
96 it->save(); 100 it->save();
97 } 101 }
98} 102}
99 103
@@ -273,229 +277,269 @@ POP3account::POP3account( QString filename )
273 277
274QString POP3account::getUniqueFileName() 278QString POP3account::getUniqueFileName()
275{ 279{
276 int num = 0; 280 int num = 0;
277 QString unique; 281 QString unique;
278 282
279 QDir dir( locateLocal("data", "kopiemail" ) ); 283 QDir dir( locateLocal("data", "kopiemail" ) );
280 284
281 QStringList imap = dir.entryList( "pop3-*" ); 285 QStringList imap = dir.entryList( "pop3-*" );
282 do { 286 do {
283 unique.setNum( num++ ); 287 unique.setNum( num++ );
284 } while ( imap.contains( "pop3-" + unique ) > 0 ); 288 } while ( imap.contains( "pop3-" + unique ) > 0 );
285 289
286 return unique; 290 return unique;
287} 291}
288 292
289void POP3account::read() 293void POP3account::read()
290{ 294{
291 KConfig *conf = new KConfig( getFileName()); 295 KConfig *conf = new KConfig( getFileName());
292 conf->setGroup( "POP3 Account" ); 296 conf->setGroup( "POP3 Account" );
293 accountName = conf->readEntry( "Account" ); 297 accountName = conf->readEntry( "Account" );
294 server = conf->readEntry( "Server" ); 298 server = conf->readEntry( "Server" );
295 port = conf->readEntry( "Port" ); 299 port = conf->readEntry( "Port" );
296 ssl = conf->readBoolEntry( "SSL" ); 300 ssl = conf->readBoolEntry( "SSL" );
297 connectionType = conf->readNumEntry( "ConnectionType" ); 301 connectionType = conf->readNumEntry( "ConnectionType" );
298 user = conf->readEntry( "User" ); 302 user = conf->readEntry( "User" );
299 //password = conf->readEntryCrypt( "Password" ); 303 //password = conf->readEntryCrypt( "Password" );
300 setPasswordList( conf->readListEntry( "FolderHistory")); 304 setPasswordList( conf->readListEntry( "FolderHistory"));
301 offline = conf->readBoolEntry("Offline",false); 305 offline = conf->readBoolEntry("Offline",false);
302 localFolder = conf->readEntry( "LocalFolder" ); 306 localFolder = conf->readEntry( "LocalFolder" );
303 maxMailSize = conf->readNumEntry( "MaxSize",0 ); 307 maxMailSize = conf->readNumEntry( "MaxSize",0 );
304 int lf = conf->readNumEntry( "LastFetch",0 ); 308 int lf = conf->readNumEntry( "LastFetch",0 );
305 QDateTime dt ( QDate ( 2004, 1, 1 ), QTime( 0,0,0) ); 309 QDateTime dt ( QDate ( 2004, 1, 1 ), QTime( 0,0,0) );
306 leaveOnServer = conf->readBoolEntry("LeaveOnServer",false); 310 leaveOnServer = conf->readBoolEntry("LeaveOnServer",false);
307 lastFetch = dt.addSecs( lf ); 311 lastFetch = dt.addSecs( lf );
308 delete conf; 312 delete conf;
309} 313}
310 314
311void POP3account::save() 315void POP3account::save()
312{ 316{
313 Settings::checkDirectory(); 317 Settings::checkDirectory();
314 318
315 KConfig *conf = new KConfig( getFileName() ); 319 KConfig *conf = new KConfig( getFileName() );
316 conf->setGroup( "POP3 Account" ); 320 conf->setGroup( "POP3 Account" );
317 conf->writeEntry( "Account", accountName ); 321 conf->writeEntry( "Account", accountName );
318 conf->writeEntry( "Server", server ); 322 conf->writeEntry( "Server", server );
319 conf->writeEntry( "Port", port ); 323 conf->writeEntry( "Port", port );
320 conf->writeEntry( "SSL", ssl ); 324 conf->writeEntry( "SSL", ssl );
321 conf->writeEntry( "ConnectionType", connectionType ); 325 conf->writeEntry( "ConnectionType", connectionType );
322 conf->writeEntry( "User", user ); 326 conf->writeEntry( "User", user );
323 //conf->writeEntryCrypt( "Password", password ); 327 //conf->writeEntryCrypt( "Password", password );
324 conf->writeEntry( "FolderHistory",getPasswordList() ); 328 conf->writeEntry( "FolderHistory",getPasswordList() );
325 conf->writeEntry( "Offline",offline); 329 conf->writeEntry( "Offline",offline);
326 conf->writeEntry( "LocalFolder", localFolder ); 330 conf->writeEntry( "LocalFolder", localFolder );
327 conf->writeEntry( "MaxSize", maxMailSize ); 331 conf->writeEntry( "MaxSize", maxMailSize );
328 QDateTime dt ( QDate ( 2004, 1, 1 ), QTime( 0,0,0) ); 332 QDateTime dt ( QDate ( 2004, 1, 1 ), QTime( 0,0,0) );
329 int lf = dt.secsTo ( lastFetch ); 333 int lf = dt.secsTo ( lastFetch );
330 conf->writeEntry( "LastFetch", lf ); 334 conf->writeEntry( "LastFetch", lf );
331 conf->writeEntry( "LeaveOnServer", leaveOnServer); 335 conf->writeEntry( "LeaveOnServer", leaveOnServer);
332 conf->sync(); 336 conf->sync();
333 delete conf; 337 delete conf;
334} 338}
335 339
336 340
337QString POP3account::getFileName() 341QString POP3account::getFileName()
338{ 342{
339 return locateLocal("data", "kopiemail" ) +"/pop3-" + file; 343 return locateLocal("data", "kopiemail" ) +"/pop3-" + file;
340} 344}
341 345
342SMTPaccount::SMTPaccount() 346SMTPaccount::SMTPaccount()
343 : Account() 347 : Account()
344{ 348{
345 file = SMTPaccount::getUniqueFileName(); 349 file = SMTPaccount::getUniqueFileName();
346 accountName = "New SMTP Account"; 350 accountName = "New SMTP Account";
347 ssl = false; 351 ssl = false;
348 connectionType = 1; 352 connectionType = 1;
349 login = false; 353 login = false;
350 useCC = false; 354 useCC = false;
351 useBCC = false; 355 useBCC = false;
352 useReply = false; 356 useReply = false;
353 type = MAILLIB::A_SMTP; 357 type = MAILLIB::A_SMTP;
354 port = SMTP_PORT; 358 port = SMTP_PORT;
355} 359}
356 360
357SMTPaccount::SMTPaccount( QString filename ) 361SMTPaccount::SMTPaccount( QString filename )
358 : Account() 362 : Account()
359{ 363{
360 file = filename; 364 file = filename;
361 accountName = "New SMTP Account"; 365 accountName = "New SMTP Account";
362 ssl = false; 366 ssl = false;
363 connectionType = 1; 367 connectionType = 1;
364 login = false; 368 login = false;
365 type = MAILLIB::A_SMTP; 369 type = MAILLIB::A_SMTP;
366 port = SMTP_PORT; 370 port = SMTP_PORT;
367} 371}
368 372
373QString SMTPaccount::getSignature()
374{
375 QFileInfo fi ( signature );
376 if ( ! fi.exists() )
377 return QString();
378
379 QFile file( signature );
380 if (!file.open( IO_ReadOnly ) ) {
381 return QString();
382
383 }
384 QTextStream ts( &file );
385 ts.setCodec( QTextCodec::codecForName("utf8") );
386 QString text = ts.read();
387 file.close();
388
389 return text;
390
391}
392void SMTPaccount::setSignature( QString b )
393{
394
395 QFileInfo fi ( signature );
396 if ( ! fi.exists() ) {
397 QString filedir( locateLocal("data", "kopiemail" ) );
398 signature = filedir+ "/" + getAccountName() +".sig";
399 qDebug("new sig %s ", signature.latin1());
400 save();
401 }
402 QFile fileIn( signature );
403 if (!fileIn.open( IO_WriteOnly ) ) {
404 qDebug("OM: Cannot write signature file %s ", signature.latin1() );
405 return ;
406 }
407 QTextStream tsIn( &fileIn );
408 tsIn.setCodec( QTextCodec::codecForName("utf8") );
409 tsIn << b ;
410 fileIn.close();
411}
369QString SMTPaccount::getUniqueFileName() 412QString SMTPaccount::getUniqueFileName()
370{ 413{
371 int num = 0; 414 int num = 0;
372 QString unique; 415 QString unique;
373 416
374 QDir dir( locateLocal("data", "kopiemail" ) ); 417 QDir dir( locateLocal("data", "kopiemail" ) );
375 418
376 QStringList imap = dir.entryList( "smtp-*" ); 419 QStringList imap = dir.entryList( "smtp-*" );
377 do { 420 do {
378 unique.setNum( num++ ); 421 unique.setNum( num++ );
379 } while ( imap.contains( "smtp-" + unique ) > 0 ); 422 } while ( imap.contains( "smtp-" + unique ) > 0 );
380 423
381 return unique; 424 return unique;
382} 425}
383 426
384void SMTPaccount::read() 427void SMTPaccount::read()
385{ 428{
386 KConfig *conf = new KConfig( getFileName() ); 429 KConfig *conf = new KConfig( getFileName() );
387 conf->setGroup( "SMTP Account" ); 430 conf->setGroup( "SMTP Account" );
388 accountName = conf->readEntry( "Account" ); 431 accountName = conf->readEntry( "Account" );
389 server = conf->readEntry( "Server" ); 432 server = conf->readEntry( "Server" );
390 port = conf->readEntry( "Port" ); 433 port = conf->readEntry( "Port" );
391 ssl = conf->readBoolEntry( "SSL" ); 434 ssl = conf->readBoolEntry( "SSL" );
392 connectionType = conf->readNumEntry( "ConnectionType" ); 435 connectionType = conf->readNumEntry( "ConnectionType" );
393 login = conf->readBoolEntry( "Login" ); 436 login = conf->readBoolEntry( "Login" );
394 user = conf->readEntry( "User" ); 437 user = conf->readEntry( "User" );
395 //password = conf->readEntryCrypt( "Password" ); 438 signature = conf->readEntry( "SigFile" );
396 setPasswordList( conf->readListEntry( "FolderHistory")); 439 setPasswordList( conf->readListEntry( "FolderHistory"));
397 delete conf; 440 delete conf;
398} 441}
399 442
400void SMTPaccount::save() 443void SMTPaccount::save()
401{ 444{
402 Settings::checkDirectory(); 445 Settings::checkDirectory();
403 446
404 KConfig *conf = new KConfig( getFileName() ); 447 KConfig *conf = new KConfig( getFileName() );
405 conf->setGroup( "SMTP Account" ); 448 conf->setGroup( "SMTP Account" );
406 conf->writeEntry( "Account", accountName ); 449 conf->writeEntry( "Account", accountName );
407 conf->writeEntry( "Server", server ); 450 conf->writeEntry( "Server", server );
408 conf->writeEntry( "Port", port ); 451 conf->writeEntry( "Port", port );
409 conf->writeEntry( "SSL", ssl ); 452 conf->writeEntry( "SSL", ssl );
410 conf->writeEntry( "ConnectionType", connectionType ); 453 conf->writeEntry( "ConnectionType", connectionType );
411 conf->writeEntry( "Login", login ); 454 conf->writeEntry( "Login", login );
412 conf->writeEntry( "User", user ); 455 conf->writeEntry( "User", user );
456 conf->writeEntry( "SigFile", signature );
413 //conf->writeEntryCrypt( "Password", password ); 457 //conf->writeEntryCrypt( "Password", password );
414 conf->writeEntry( "FolderHistory",getPasswordList() ); 458 conf->writeEntry( "FolderHistory",getPasswordList() );
415 conf->sync(); 459 conf->sync();
416 delete conf; 460 delete conf;
417} 461}
418 462
419 463
420QString SMTPaccount::getFileName() 464QString SMTPaccount::getFileName()
421{ 465{
422 return locateLocal("data", "kopiemail" ) +"/smtp-" + file; 466 return locateLocal("data", "kopiemail" ) +"/smtp-" + file;
423} 467}
424 468
425NNTPaccount::NNTPaccount() 469NNTPaccount::NNTPaccount()
426 : Account() 470 : Account()
427{ 471{
428 file = NNTPaccount::getUniqueFileName(); 472 file = NNTPaccount::getUniqueFileName();
429 accountName = "New NNTP Account"; 473 accountName = "New NNTP Account";
430 ssl = false; 474 ssl = false;
431 login = false; 475 login = false;
432 type = MAILLIB::A_NNTP; 476 type = MAILLIB::A_NNTP;
433 port = NNTP_PORT; 477 port = NNTP_PORT;
434} 478}
435 479
436NNTPaccount::NNTPaccount( QString filename ) 480NNTPaccount::NNTPaccount( QString filename )
437 : Account() 481 : Account()
438{ 482{
439 file = filename; 483 file = filename;
440 accountName = "New NNTP Account"; 484 accountName = "New NNTP Account";
441 ssl = false; 485 ssl = false;
442 login = false; 486 login = false;
443 type = MAILLIB::A_NNTP; 487 type = MAILLIB::A_NNTP;
444 port = NNTP_PORT; 488 port = NNTP_PORT;
445} 489}
446 490
447QString NNTPaccount::getUniqueFileName() 491QString NNTPaccount::getUniqueFileName()
448{ 492{
449 int num = 0; 493 int num = 0;
450 QString unique; 494 QString unique;
451 495
452 QDir dir( locateLocal("data", "kopiemail" ) ); 496 QDir dir( locateLocal("data", "kopiemail" ) );
453 497
454 QStringList imap = dir.entryList( "nntp-*" ); 498 QStringList imap = dir.entryList( "nntp-*" );
455 do { 499 do {
456 unique.setNum( num++ ); 500 unique.setNum( num++ );
457 } while ( imap.contains( "nntp-" + unique ) > 0 ); 501 } while ( imap.contains( "nntp-" + unique ) > 0 );
458 502
459 return unique; 503 return unique;
460} 504}
461 505
462void NNTPaccount::read() 506void NNTPaccount::read()
463{ 507{
464 KConfig *conf = new KConfig( getFileName() ); 508 KConfig *conf = new KConfig( getFileName() );
465 conf->setGroup( "NNTP Account" ); 509 conf->setGroup( "NNTP Account" );
466 accountName = conf->readEntry( "Account" ); 510 accountName = conf->readEntry( "Account" );
467 server = conf->readEntry( "Server" ); 511 server = conf->readEntry( "Server" );
468 port = conf->readEntry( "Port" ); 512 port = conf->readEntry( "Port" );
469 ssl = conf->readBoolEntry( "SSL" ); 513 ssl = conf->readBoolEntry( "SSL" );
470 login = conf->readBoolEntry( "Login" ); 514 login = conf->readBoolEntry( "Login" );
471 user = conf->readEntry( "User" ); 515 user = conf->readEntry( "User" );
472 //password = conf->readEntryCrypt( "Password" ); 516 //password = conf->readEntryCrypt( "Password" );
473 setPasswordList( conf->readListEntry( "FolderHistory")); 517 setPasswordList( conf->readListEntry( "FolderHistory"));
474 subscribedGroups = conf->readListEntry( "Subscribed"); 518 subscribedGroups = conf->readListEntry( "Subscribed");
475 delete conf; 519 delete conf;
476} 520}
477 521
478void NNTPaccount::save() 522void NNTPaccount::save()
479{ 523{
480 Settings::checkDirectory(); 524 Settings::checkDirectory();
481 525
482 KConfig *conf = new KConfig( getFileName() ); 526 KConfig *conf = new KConfig( getFileName() );
483 conf->setGroup( "NNTP Account" ); 527 conf->setGroup( "NNTP Account" );
484 conf->writeEntry( "Account", accountName ); 528 conf->writeEntry( "Account", accountName );
485 conf->writeEntry( "Server", server ); 529 conf->writeEntry( "Server", server );
486 conf->writeEntry( "Port", port ); 530 conf->writeEntry( "Port", port );
487 conf->writeEntry( "SSL", ssl ); 531 conf->writeEntry( "SSL", ssl );
488 conf->writeEntry( "Login", login ); 532 conf->writeEntry( "Login", login );
489 conf->writeEntry( "User", user ); 533 conf->writeEntry( "User", user );
490 //conf->writeEntryCrypt( "Password", password ); 534 //conf->writeEntryCrypt( "Password", password );
491 conf->writeEntry( "FolderHistory",getPasswordList() ); 535 conf->writeEntry( "FolderHistory",getPasswordList() );
492 conf->writeEntry( "Subscribed" , subscribedGroups ); 536 conf->writeEntry( "Subscribed" , subscribedGroups );
493 conf->sync(); 537 conf->sync();
494 delete conf; 538 delete conf;
495} 539}
496 540
497 541
498QString NNTPaccount::getFileName() 542QString NNTPaccount::getFileName()
499{ 543{
500 return locateLocal("data", "kopiemail" ) +"/nntp-" + file; 544 return locateLocal("data", "kopiemail" ) +"/nntp-" + file;
501} 545}
diff --git a/kmicromail/libmailwrapper/settings.h b/kmicromail/libmailwrapper/settings.h
index c996fe0..a6e95fe 100644
--- a/kmicromail/libmailwrapper/settings.h
+++ b/kmicromail/libmailwrapper/settings.h
@@ -34,149 +34,155 @@ public:
34 34
35 void setUser(const QString&str){ user = str; } 35 void setUser(const QString&str){ user = str; }
36 const QString&getUser()const{ return user; } 36 const QString&getUser()const{ return user; }
37 37
38 void setPassword(const QString&str) { password = str; } 38 void setPassword(const QString&str) { password = str; }
39 const QString&getPassword()const { return password; } 39 const QString&getPassword()const { return password; }
40 40
41 void setPasswordList(const QStringList &str); 41 void setPasswordList(const QStringList &str);
42 QStringList getPasswordList(); 42 QStringList getPasswordList();
43 43
44 void setSSL( bool b ) { ssl = b; } 44 void setSSL( bool b ) { ssl = b; }
45 bool getSSL() { return ssl; } 45 bool getSSL() { return ssl; }
46 46
47 void setConnectionType( int x ) { connectionType = x; } 47 void setConnectionType( int x ) { connectionType = x; }
48 int ConnectionType() { return connectionType; } 48 int ConnectionType() { return connectionType; }
49 49
50 void setMaxMailSize( int x ) { maxMailSize = x; } 50 void setMaxMailSize( int x ) { maxMailSize = x; }
51 int getMaxMailSize() { return maxMailSize; } 51 int getMaxMailSize() { return maxMailSize; }
52 52
53 void setOffline(bool b) {offline = b;} 53 void setOffline(bool b) {offline = b;}
54 bool getOffline()const{return offline;} 54 bool getOffline()const{return offline;}
55 55
56 bool getLeaveOnServer(){ return leaveOnServer;} 56 bool getLeaveOnServer(){ return leaveOnServer;}
57 void setLeaveOnServer(bool b){ leaveOnServer = b;} 57 void setLeaveOnServer(bool b){ leaveOnServer = b;}
58 58
59 virtual QString getFileName() { return accountName; } 59 virtual QString getFileName() { return accountName; }
60 virtual void read() { ; } 60 virtual void read() { ; }
61 virtual void save() { ; } 61 virtual void save() { ; }
62 62
63protected: 63protected:
64 QString accountName, server, port, user, password; 64 QString accountName, server, port, user, password;
65 bool ssl; 65 bool ssl;
66 int connectionType; 66 int connectionType;
67 bool offline; 67 bool offline;
68 MAILLIB::ATYPE type; 68 MAILLIB::ATYPE type;
69 QString localFolder; 69 QString localFolder;
70 int maxMailSize; 70 int maxMailSize;
71 QDateTime lastFetch; 71 QDateTime lastFetch;
72 bool leaveOnServer; 72 bool leaveOnServer;
73}; 73};
74 74
75class IMAPaccount : public Account 75class IMAPaccount : public Account
76{ 76{
77 77
78public: 78public:
79 IMAPaccount(); 79 IMAPaccount();
80 IMAPaccount( QString filename ); 80 IMAPaccount( QString filename );
81 81
82 static QString getUniqueFileName(); 82 static QString getUniqueFileName();
83 83
84 virtual void read(); 84 virtual void read();
85 virtual void save(); 85 virtual void save();
86 virtual QString getFileName(); 86 virtual QString getFileName();
87 87
88 void setPrefix(const QString&str) {prefix=str;} 88 void setPrefix(const QString&str) {prefix=str;}
89 const QString&getPrefix()const{return prefix;} 89 const QString&getPrefix()const{return prefix;}
90 90
91private: 91private:
92 QString file,prefix; 92 QString file,prefix;
93 93
94}; 94};
95 95
96class POP3account : public Account 96class POP3account : public Account
97{ 97{
98 98
99public: 99public:
100 POP3account(); 100 POP3account();
101 POP3account( QString filename ); 101 POP3account( QString filename );
102 102
103 static QString getUniqueFileName(); 103 static QString getUniqueFileName();
104 104
105 virtual void read(); 105 virtual void read();
106 virtual void save(); 106 virtual void save();
107 virtual QString getFileName(); 107 virtual QString getFileName();
108 108
109private: 109private:
110 QString file; 110 QString file;
111 111
112}; 112};
113 113
114class SMTPaccount : public Account 114class SMTPaccount : public Account
115{ 115{
116 116
117public: 117public:
118 SMTPaccount(); 118 SMTPaccount();
119 SMTPaccount( QString filename ); 119 SMTPaccount( QString filename );
120 120
121 static QString getUniqueFileName(); 121 static QString getUniqueFileName();
122 122
123 virtual void read(); 123 virtual void read();
124 virtual void save(); 124 virtual void save();
125 virtual QString getFileName(); 125 virtual QString getFileName();
126 126
127 void setLogin( bool b ) { login = b; } 127 void setLogin( bool b ) { login = b; }
128 bool getLogin() { return login; } 128 bool getLogin() { return login; }
129 129
130 void setSigFile( QString b ) { signature = b; }
131 QString getSigFile() { return signature; }
132
133 QString getSignature();
134 void setSignature( QString b );
135
130private: 136private:
131 QString file, name, mail, org, cc, bcc, reply, signature; 137 QString file, name, mail, org, cc, bcc, reply, signature;
132 bool useCC, useBCC, useReply, login; 138 bool useCC, useBCC, useReply, login;
133 139
134}; 140};
135 141
136class NNTPaccount : public Account 142class NNTPaccount : public Account
137{ 143{
138 144
139public: 145public:
140 NNTPaccount(); 146 NNTPaccount();
141 NNTPaccount( QString filename ); 147 NNTPaccount( QString filename );
142 148
143 static QString getUniqueFileName(); 149 static QString getUniqueFileName();
144 150
145 virtual void read(); 151 virtual void read();
146 virtual void save(); 152 virtual void save();
147 virtual QString getFileName(); 153 virtual QString getFileName();
148 154
149 void setLogin( bool b ) { login = b; } 155 void setLogin( bool b ) { login = b; }
150 bool getLogin() { return login; } 156 bool getLogin() { return login; }
151 157
152 void setGroups( QStringList list ) { subscribedGroups = list; } 158 void setGroups( QStringList list ) { subscribedGroups = list; }
153 QStringList getGroups() { return subscribedGroups; } 159 QStringList getGroups() { return subscribedGroups; }
154 160
155private: 161private:
156 QString file; 162 QString file;
157 bool login; 163 bool login;
158 QStringList subscribedGroups; 164 QStringList subscribedGroups;
159 165
160}; 166};
161 167
162class Settings : public QObject 168class Settings : public QObject
163{ 169{
164 Q_OBJECT 170 Q_OBJECT
165 171
166public: 172public:
167 Settings(); 173 Settings();
168 //~Settings(){qDebug("-------------------settings "); }; 174 //~Settings(){qDebug("-------------------settings "); };
169 QList<Account> getAccounts(); 175 QList<Account> getAccounts();
170 void addAccount(Account *account); 176 void addAccount(Account *account);
171 void delAccount(Account *account); 177 void delAccount(Account *account);
172 void saveAccounts(); 178 void saveAccounts();
173 void readAccounts(); 179 void readAccounts();
174 static void checkDirectory(); 180 static void checkDirectory();
175 181
176private: 182private:
177 void updateAccounts(); 183 void updateAccounts();
178 QList<Account> accounts; 184 QList<Account> accounts;
179 185
180}; 186};
181 187
182#endif 188#endif
diff --git a/kmicromail/main.cpp b/kmicromail/main.cpp
index 006390c..1789da0 100644
--- a/kmicromail/main.cpp
+++ b/kmicromail/main.cpp
@@ -1,67 +1,67 @@
1// CHANGED 2004-08-06 Lutz Rogowski 1// CHANGED 2004-08-06 Lutz Rogowski
2 2
3 3
4#ifndef DESKTOP_VERSION 4#ifndef DESKTOP_VERSION
5#include <qpe/qpeapplication.h> 5#include <qpe/qpeapplication.h>
6#include <libkdepim/externalapphandler.h> 6#include <libkdepim/externalapphandler.h>
7#include <stdlib.h> 7#include <stdlib.h>
8#else 8#else
9#include <qapplication.h> 9#include <qapplication.h>
10#include <qstring.h> 10#include <qstring.h>
11#include <qwindowsstyle.h> 11#include <qwindowsstyle.h>
12#include <qplatinumstyle.h> 12#include <qplatinumstyle.h>
13#include <qsgistyle.h> 13#include <qsgistyle.h>
14#endif 14#endif
15#include "opiemail.h" 15#include "opiemail.h"
16#include <qdir.h> 16#include <qdir.h>
17#include <kstandarddirs.h> 17#include <kstandarddirs.h>
18#include <kglobal.h> 18#include <kglobal.h>
19#include <stdio.h> 19#include <stdio.h>
20#include "mainwindow.h" 20#include "mainwindow.h"
21#include "koprefs.h" 21#include "koprefs.h"
22#include <libkdepim/kpimglobalprefs.h> 22#include <libkdepim/kpimglobalprefs.h>
23void dumpMissing(); 23void dumpMissing();
24//using namespace Opie::Core; 24//using namespace Opie::Core;
25int main( int argc, char **argv ) { 25int main( int argc, char **argv ) {
26 26
27#ifndef DESKTOP_VERSION 27#ifndef DESKTOP_VERSION
28 QPEApplication a( argc, argv ); 28 QPEApplication a( argc, argv );
29 a.setKeepRunning (); 29 a.setKeepRunning ();
30#else 30#else
31 QApplication a( argc, argv ); 31 QApplication a( argc, argv );
32 QApplication::setStyle( new QPlatinumStyle ()); 32 QApplication::setStyle( new QPlatinumStyle ());
33#endif 33#endif
34 a.setFont( KOPrefs::instance()->mAppFont ); 34 a.setFont( KOPrefs::instance()->mAppFont );
35 KGlobal::setAppName( "kopiemail" ); 35 KGlobal::setAppName( "kopiemail" );
36 QString fileName ; 36 QString fileName ;
37#ifndef DESKTOP_VERSION 37#ifndef DESKTOP_VERSION
38 fileName = getenv("QPEDIR"); 38 fileName = getenv("QPEDIR");
39 if ( QApplication::desktop()->width() > 320 ) 39 if ( QApplication::desktop()->width() > 320 )
40 KGlobal::iconLoader()->setIconPath( fileName +"/pics/kdepim/kopiemail/icons22/"); 40 KGlobal::iconLoader()->setIconPath( fileName +"/pics/kdepim/kopiemail/icons22/");
41 else 41 else
42 KGlobal::iconLoader()->setIconPath( fileName +"/pics/kdepim/kopiemail/"); 42 KGlobal::iconLoader()->setIconPath( fileName +"/pics/kdepim/kopiemail/");
43#else 43#else
44 fileName = qApp->applicationDirPath () + "/kdepim/kopiemail/"; 44 fileName = qApp->applicationDirPath () + "/kdepim/kopiemail/icons22/";
45 KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName)); 45 KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName));
46#endif 46#endif
47 KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "kopiemail"))); 47 KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "kopiemail")));
48 KPimGlobalPrefs::instance()->setGlobalConfig(); 48 KPimGlobalPrefs::instance()->setGlobalConfig();
49 OpieMail mw; 49 OpieMail mw;
50#ifndef DESKTOP_VERSION 50#ifndef DESKTOP_VERSION
51 //qDebug("CONNECT "); 51 //qDebug("CONNECT ");
52 QObject::connect( &a, SIGNAL (appMessage ( const QCString &, const QByteArray & )),&mw, SLOT(message( const QCString&, const QByteArray& ))); 52 QObject::connect( &a, SIGNAL (appMessage ( const QCString &, const QByteArray & )),&mw, SLOT(message( const QCString&, const QByteArray& )));
53 // QObject::connect(&a, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & ))); 53 // QObject::connect(&a, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & )));
54 a.showMainWidget(&mw ); 54 a.showMainWidget(&mw );
55#else 55#else
56 a.setMainWidget(&mw ); 56 a.setMainWidget(&mw );
57 mw.show(); 57 mw.show();
58 //m.resize( 800, 600 ); 58 //m.resize( 800, 600 );
59 QObject::connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit())); 59 QObject::connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()));
60#endif 60#endif
61 int rv = a.exec(); 61 int rv = a.exec();
62 dumpMissing(); 62 dumpMissing();
63 63
64 KPimGlobalPrefs::instance()->writeConfig(); 64 KPimGlobalPrefs::instance()->writeConfig();
65 return rv; 65 return rv;
66 66
67} 67}
diff --git a/kmicromail/mainwindow.cpp b/kmicromail/mainwindow.cpp
index 0794e00..4c58909 100644
--- a/kmicromail/mainwindow.cpp
+++ b/kmicromail/mainwindow.cpp
@@ -142,192 +142,194 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags )
142 griLay->addWidget( toLE = new QLineEdit( infoBox ),2,1) ; 142 griLay->addWidget( toLE = new QLineEdit( infoBox ),2,1) ;
143 } 143 }
144 infoBox->setMaximumHeight( infoBox->sizeHint().height() ); 144 infoBox->setMaximumHeight( infoBox->sizeHint().height() );
145 if ( !KOPrefs::instance()->mShowInfoStart ) { 145 if ( !KOPrefs::instance()->mShowInfoStart ) {
146 QTimer::singleShot( 1,splithor, SLOT ( toggle() ) ); 146 QTimer::singleShot( 1,splithor, SLOT ( toggle() ) );
147 } 147 }
148 } 148 }
149 149
150 150
151 folderView = new AccountView( split ); 151 folderView = new AccountView( split );
152 folderView->header()->hide(); 152 folderView->header()->hide();
153 folderView->setRootIsDecorated( false ); 153 folderView->setRootIsDecorated( false );
154 folderView->addColumn( i18n( "Mailbox" ) ); 154 folderView->addColumn( i18n( "Mailbox" ) );
155 155
156 //layout->addWidget( folderView ); 156 //layout->addWidget( folderView );
157 157
158 mailView = new QListView( split ); 158 mailView = new QListView( split );
159 mailView->addColumn( i18n( " " ) ); 159 mailView->addColumn( i18n( " " ) );
160 mailView->addColumn( i18n( "Subject" ),QListView::Manual ); 160 mailView->addColumn( i18n( "Subject" ),QListView::Manual );
161 mailView->addColumn( i18n( "Sender" ),QListView::Manual ); 161 mailView->addColumn( i18n( "Sender" ),QListView::Manual );
162 mailView->addColumn( i18n( "Size" ),QListView::Manual); 162 mailView->addColumn( i18n( "Size" ),QListView::Manual);
163 mailView->addColumn( i18n( "Date" ),QListView::Manual); 163 mailView->addColumn( i18n( "Date" ),QListView::Manual);
164 if ( KOPrefs::instance()->mShowToField ) 164 if ( KOPrefs::instance()->mShowToField )
165 mailView->addColumn( i18n( "To" ),QListView::Manual); 165 mailView->addColumn( i18n( "To" ),QListView::Manual);
166 mailView->setAllColumnsShowFocus(true); 166 mailView->setAllColumnsShowFocus(true);
167 //mailView->setSorting(-1); 167 //mailView->setSorting(-1);
168 mailView->setRootIsDecorated( false ); 168 mailView->setRootIsDecorated( false );
169 statusWidget = new StatusWidget( wrapperBox ); 169 statusWidget = new StatusWidget( wrapperBox );
170 statusWidget->hide(); 170 statusWidget->hide();
171 171
172 //layout->addWidget( mailView ); 172 //layout->addWidget( mailView );
173 //layout->setStretchFactor( folderView, 1 ); 173 //layout->setStretchFactor( folderView, 1 );
174 //layout->setStretchFactor( mailView, 2 ); 174 //layout->setStretchFactor( mailView, 2 );
175 175
176 slotAdjustLayout(); 176 slotAdjustLayout();
177#ifndef DESKTOP_VERSION 177#ifndef DESKTOP_VERSION
178 QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); 178 QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold);
179 QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); 179 QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold);
180 if ( subLE ) 180 if ( subLE )
181 QPEApplication::setStylusOperation( subLE ,QPEApplication::RightOnHold); 181 QPEApplication::setStylusOperation( subLE ,QPEApplication::RightOnHold);
182 if ( fromLE ) 182 if ( fromLE )
183 QPEApplication::setStylusOperation( fromLE ,QPEApplication::RightOnHold); 183 QPEApplication::setStylusOperation( fromLE ,QPEApplication::RightOnHold);
184 if ( toLE ) 184 if ( toLE )
185 QPEApplication::setStylusOperation( toLE ,QPEApplication::RightOnHold); 185 QPEApplication::setStylusOperation( toLE ,QPEApplication::RightOnHold);
186#endif 186#endif
187 connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this, 187 connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this,
188 SLOT( mailLeftClicked(QListViewItem*) ) ); 188 SLOT( mailLeftClicked(QListViewItem*) ) );
189 connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this, 189 connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this,
190 SLOT( mailLeftClicked(QListViewItem*) ) ); 190 SLOT( mailLeftClicked(QListViewItem*) ) );
191 connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, 191 connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this,
192 SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); 192 SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) );
193 connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), 193 connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)),
194 this,SLOT(refreshMailView(const QValueList<RecMailP>&))); 194 this,SLOT(refreshMailView(const QValueList<RecMailP>&)));
195 195
196 connect( mailView, SIGNAL( currentChanged (QListViewItem* )),this, 196 connect( mailView, SIGNAL( currentChanged (QListViewItem* )),this,
197 SLOT( setInfoFields(QListViewItem*) ) ); 197 SLOT( setInfoFields(QListViewItem*) ) );
198 198
199 connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); 199 connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) );
200 connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); 200 connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) );
201// connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); 201// connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) );
202 connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); 202 connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) );
203 //mailView->setMultiSelection ( true ); 203 //mailView->setMultiSelection ( true );
204 mailView->setSelectionMode( QListView::Extended ); 204 mailView->setSelectionMode( QListView::Extended );
205 QValueList<int> list; 205 QValueList<int> list;
206 int fw = 100; 206 int fw = 100;
207 if ( QApplication::desktop()->width() > 320 ) 207 if ( QApplication::desktop()->width() > 320 )
208 fw = 50; 208 fw = 50;
209 list.append( fw ); 209 list.append( fw );
210 list.append( 100 ); 210 list.append( 100 );
211 split->setSizes( list ); 211 split->setSizes( list );
212 QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); 212 QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) );
213 mailView->setShowSortIndicator ( true ); 213 mailView->setShowSortIndicator ( true );
214 QLabel *spacer = new QLabel( toolBar ); 214 QLabel *spacer = new QLabel( toolBar );
215 spacer->setBackgroundMode( QWidget::PaletteButton ); 215 spacer->setBackgroundMode( QWidget::PaletteButton );
216 toolBar->setStretchableWidget( spacer ); 216 toolBar->setStretchableWidget( spacer );
217 217
218 QAction* closeMail = new QAction(i18n("Close"),SmallIcon("exit"), 0, 0, this); 218 QAction* closeMail = new QAction(i18n("Close"),SmallIcon("exit"), 0, 0, this);
219 connect( closeMail, SIGNAL( activated() ), SLOT( close() ) ); 219 connect( closeMail, SIGNAL( activated() ), SLOT( close() ) );
220 if ( QApplication::desktop()->width() > 320 ) 220 if ( QApplication::desktop()->width() > 320 )
221 closeMail->addTo(toolBar); 221 closeMail->addTo(toolBar);
222 closeMail->addTo(mailMenu); 222 closeMail->addTo(mailMenu);
223 223
224 224
225 QPopupMenu* helpMenu = new QPopupMenu( menuBar ); 225 QPopupMenu* helpMenu = new QPopupMenu( menuBar );
226 menuBar->insertItem( i18n( "Help" ), helpMenu ); 226 menuBar->insertItem( i18n( "Help" ), helpMenu );
227 QAction* li = new QAction(i18n("About"), QPixmap(), 0, 0, this); 227 QAction* li = new QAction(i18n("About"), QPixmap(), 0, 0, this);
228 connect( li, SIGNAL( activated() ), SLOT( showAbout()) ); 228 connect( li, SIGNAL( activated() ), SLOT( showAbout()) );
229 li->addTo(helpMenu); 229 li->addTo(helpMenu);
230 li = new QAction(i18n("Licence"),QPixmap(), 0, 0, this); 230 li = new QAction(i18n("Licence"),QPixmap(), 0, 0, this);
231 connect( li, SIGNAL( activated() ), SLOT( showLicence()) ); 231 connect( li, SIGNAL( activated() ), SLOT( showLicence()) );
232 li->addTo(helpMenu); 232 li->addTo(helpMenu);
233 li = new QAction(i18n("LibEtPan Licence"), QPixmap(), 0, 0, this); 233 li = new QAction(i18n("LibEtPan Licence"), QPixmap(), 0, 0, this);
234 connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) ); 234 connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) );
235 li->addTo(helpMenu); 235 li->addTo(helpMenu);
236 connect( codecMenu, SIGNAL( activated(int) ), this, SLOT( slotSetCodec( int )) ); 236 connect( codecMenu, SIGNAL( activated(int) ), this, SLOT( slotSetCodec( int )) );
237 slotSetCodec( KOPrefs::instance()->mCurrentCodec ); 237 slotSetCodec( KOPrefs::instance()->mCurrentCodec );
238 menuBar->setMaximumWidth( menuBar->sizeHint().width());
239 //menuBar->setMaximumSize( menuBar->sizeHint());
238#ifdef DESKTOP_VERSION 240#ifdef DESKTOP_VERSION
239 resize ( 640, 480 ); 241 resize ( 640, 480 );
240#endif 242#endif
241} 243}
242 244
243MainWindow::~MainWindow() 245MainWindow::~MainWindow()
244{ 246{
245} 247}
246 248
247void MainWindow::setInfoFields(QListViewItem* item ) 249void MainWindow::setInfoFields(QListViewItem* item )
248{ 250{
249 if ( item == 0) { 251 if ( item == 0) {
250 if ( subLE ) subLE->setText(""); 252 if ( subLE ) subLE->setText("");
251 if ( fromLE ) fromLE->setText(""); 253 if ( fromLE ) fromLE->setText("");
252 if ( toLE ) toLE->setText(""); 254 if ( toLE ) toLE->setText("");
253 return; 255 return;
254 } 256 }
255 RecMailP mail = ((MailListViewItem*)item)->data(); 257 RecMailP mail = ((MailListViewItem*)item)->data();
256 if ( subLE ) subLE->setText(mail->getSubject()); 258 if ( subLE ) subLE->setText(mail->getSubject());
257 if ( fromLE ) fromLE->setText(mail->getFrom()); 259 if ( fromLE ) fromLE->setText(mail->getFrom());
258 if ( toLE ) toLE->setText(mail->To().join(";" )); 260 if ( toLE ) toLE->setText(mail->To().join(";" ));
259 if ( subLE ) subLE->setCursorPosition(0); 261 if ( subLE ) subLE->setCursorPosition(0);
260 if ( fromLE ) fromLE->setCursorPosition(0); 262 if ( fromLE ) fromLE->setCursorPosition(0);
261 if ( toLE ) toLE->setCursorPosition(0); 263 if ( toLE ) toLE->setCursorPosition(0);
262 264
263} 265}
264void MainWindow::slotSetCodec( int codec ) 266void MainWindow::slotSetCodec( int codec )
265{ 267{
266 codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, false ); 268 codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, false );
267 //qDebug("codec %d ", codec); 269 //qDebug("codec %d ", codec);
268 KOPrefs::instance()->mCurrentCodec = codec; 270 KOPrefs::instance()->mCurrentCodec = codec;
269 KOPrefs::instance()->isDirty = true; 271 KOPrefs::instance()->isDirty = true;
270 QString name; 272 QString name;
271 switch ( codec ) { 273 switch ( codec ) {
272 case 0: 274 case 0:
273 name = "iso-8859-1"; 275 name = "iso-8859-1";
274 break; 276 break;
275 case 1: 277 case 1:
276 name = "iso-8859-5"; 278 name = "iso-8859-5";
277 break; 279 break;
278 case 2: 280 case 2:
279 name = "iso-8859-15"; 281 name = "iso-8859-15";
280 break; 282 break;
281 case 3: 283 case 3:
282 name = "big-5"; 284 name = "big-5";
283 break; 285 break;
284 case 4: 286 case 4:
285 name = "utf-8"; 287 name = "utf-8";
286 break; 288 break;
287 case 5: 289 case 5:
288 name = KOPrefs::instance()->mSendCodec.lower(); 290 name = KOPrefs::instance()->mSendCodec.lower();
289 break; 291 break;
290 } 292 }
291 KOPrefs::instance()->mCurrentCodeName = name ; 293 KOPrefs::instance()->mCurrentCodeName = name ;
292 codecMenu->changeItem ( 5, "Userdefined ("+KOPrefs::instance()->mSendCodec+")"); 294 codecMenu->changeItem ( 5, "Userdefined ("+KOPrefs::instance()->mSendCodec+")");
293 codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, true ); 295 codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, true );
294} 296}
295void MainWindow::showLicence() 297void MainWindow::showLicence()
296{ 298{
297 KApplication::showLicence(); 299 KApplication::showLicence();
298} 300}
299void MainWindow::showAbout() 301void MainWindow::showAbout()
300{ 302{
301 QString version; 303 QString version;
302#include <../version> 304#include <../version>
303 305
304 QString cap = "About KOpieMail/Pi"; 306 QString cap = "About KOpieMail/Pi";
305 QString text =i18n("KOpieMail/Platform-independent\n") + 307 QString text =i18n("KOpieMail/Platform-independent\n") +
306 "(OM/Pi) " + version + " - " 308 "(OM/Pi) " + version + " - "
307 309
308#ifdef DESKTOP_VERSION 310#ifdef DESKTOP_VERSION
309 "Desktop Edition\n" 311 "Desktop Edition\n"
310#else 312#else
311 "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n" 313 "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n"
312#endif 314#endif
313 "www.pi-sync.net\n\n" 315 "www.pi-sync.net\n\n"
314 316
315 317
316 318
317"Copyright (c) 2004 Lutz Rogowski <lutz@pi-sync.net>\n" 319"Copyright (c) 2004 Lutz Rogowski <lutz@pi-sync.net>\n"
318 "KOpieMail/Pi is based on Opie Mail\n" 320 "KOpieMail/Pi is based on Opie Mail\n"
319 "Copyright (c) Rajko Albrecht and the Opie team\n" 321 "Copyright (c) Rajko Albrecht and the Opie team\n"
320 "KOpieMail/Pi is licensed under the GPL\n" 322 "KOpieMail/Pi is licensed under the GPL\n"
321 "\n" 323 "\n"
322 "KOpieMail/Pi uses LibEtPan - a mail stuff library\n" 324 "KOpieMail/Pi uses LibEtPan - a mail stuff library\n"
323 "Copyright (C) 2001, 2002 - DINH Viet Hoa\n" 325 "Copyright (C) 2001, 2002 - DINH Viet Hoa\n"
324 "libEtPan has its own licence - see LibEtPan licence\n"; 326 "libEtPan has its own licence - see LibEtPan licence\n";
325 327
326 KApplication::showText( cap, text ); 328 KApplication::showText( cap, text );
327} 329}
328void MainWindow::showEtpanLicence() 330void MainWindow::showEtpanLicence()
329{ 331{
330 KApplication::showFile( "LibEtPan licence", "kdepim/kopiemail/COPYRIGHTlibetpan" ); 332 KApplication::showFile( "LibEtPan licence", "kdepim/kopiemail/COPYRIGHTlibetpan" );
331 333
332} 334}
333void MainWindow::appMessage(const QCString &, const QByteArray &) 335void MainWindow::appMessage(const QCString &, const QByteArray &)
diff --git a/kmicromail/smtpconfigui.ui b/kmicromail/smtpconfigui.ui
index ae0a49a..aae6f12 100644
--- a/kmicromail/smtpconfigui.ui
+++ b/kmicromail/smtpconfigui.ui
@@ -1,361 +1,378 @@
1<!DOCTYPE UI><UI> 1<!DOCTYPE UI><UI>
2<class>SMTPconfigUI</class> 2<class>SMTPconfigUI</class>
3<include location="local">tr.h</include> 3<include location="local">tr.h</include>
4<widget> 4<widget>
5 <class>QDialog</class> 5 <class>QDialog</class>
6 <property stdset="1"> 6 <property stdset="1">
7 <name>name</name> 7 <name>name</name>
8 <cstring>SMTPconfigUI</cstring> 8 <cstring>SMTPconfigUI</cstring>
9 </property> 9 </property>
10 <property stdset="1"> 10 <property stdset="1">
11 <name>geometry</name> 11 <name>geometry</name>
12 <rect> 12 <rect>
13 <x>0</x> 13 <x>0</x>
14 <y>0</y> 14 <y>0</y>
15 <width>331</width> 15 <width>266</width>
16 <height>426</height> 16 <height>365</height>
17 </rect> 17 </rect>
18 </property> 18 </property>
19 <property stdset="1"> 19 <property stdset="1">
20 <name>caption</name> 20 <name>caption</name>
21 <string>Configure SMTP</string> 21 <string>Configure SMTP</string>
22 </property> 22 </property>
23 <property> 23 <property>
24 <name>layoutMargin</name> 24 <name>layoutMargin</name>
25 </property> 25 </property>
26 <property> 26 <property>
27 <name>layoutSpacing</name> 27 <name>layoutSpacing</name>
28 </property> 28 </property>
29 <vbox> 29 <vbox>
30 <property stdset="1"> 30 <property stdset="1">
31 <name>margin</name> 31 <name>margin</name>
32 <number>3</number> 32 <number>5</number>
33 </property> 33 </property>
34 <property stdset="1"> 34 <property stdset="1">
35 <name>spacing</name> 35 <name>spacing</name>
36 <number>3</number> 36 <number>2</number>
37 </property> 37 </property>
38 <widget> 38 <widget>
39 <class>QLabel</class> 39 <class>QLabel</class>
40 <property stdset="1"> 40 <property stdset="1">
41 <name>name</name> 41 <name>name</name>
42 <cstring>accountLabel</cstring> 42 <cstring>accountLabel</cstring>
43 </property> 43 </property>
44 <property stdset="1"> 44 <property stdset="1">
45 <name>text</name> 45 <name>text</name>
46 <string>Account</string> 46 <string>Account</string>
47 </property> 47 </property>
48 </widget> 48 </widget>
49 <widget> 49 <widget>
50 <class>QLineEdit</class> 50 <class>QLineEdit</class>
51 <property stdset="1"> 51 <property stdset="1">
52 <name>name</name> 52 <name>name</name>
53 <cstring>accountLine</cstring> 53 <cstring>accountLine</cstring>
54 </property> 54 </property>
55 <property> 55 <property>
56 <name>toolTip</name> 56 <name>toolTip</name>
57 <string>Name of the Account</string> 57 <string>Name of the Account</string>
58 </property> 58 </property>
59 </widget> 59 </widget>
60 <widget> 60 <widget>
61 <class>Line</class>
62 <property stdset="1">
63 <name>name</name>
64 <cstring>line1</cstring>
65 </property>
66 <property stdset="1">
67 <name>sizePolicy</name>
68 <sizepolicy>
69 <hsizetype>1</hsizetype>
70 <vsizetype>0</vsizetype>
71 </sizepolicy>
72 </property>
73 <property stdset="1">
74 <name>orientation</name>
75 <enum>Horizontal</enum>
76 </property>
77 </widget>
78 <widget>
79 <class>QLayoutWidget</class> 61 <class>QLayoutWidget</class>
80 <property stdset="1"> 62 <property stdset="1">
81 <name>name</name> 63 <name>name</name>
82 <cstring>Layout20</cstring> 64 <cstring>Layout20</cstring>
83 </property> 65 </property>
84 <hbox> 66 <hbox>
85 <property stdset="1"> 67 <property stdset="1">
86 <name>margin</name> 68 <name>margin</name>
87 <number>0</number> 69 <number>0</number>
88 </property> 70 </property>
89 <property stdset="1"> 71 <property stdset="1">
90 <name>spacing</name> 72 <name>spacing</name>
91 <number>6</number> 73 <number>6</number>
92 </property> 74 </property>
93 <widget> 75 <widget>
94 <class>QLayoutWidget</class> 76 <class>QLayoutWidget</class>
95 <property stdset="1"> 77 <property stdset="1">
96 <name>name</name> 78 <name>name</name>
97 <cstring>Layout18</cstring> 79 <cstring>Layout18</cstring>
98 </property> 80 </property>
99 <vbox> 81 <vbox>
100 <property stdset="1"> 82 <property stdset="1">
101 <name>margin</name> 83 <name>margin</name>
102 <number>0</number> 84 <number>0</number>
103 </property> 85 </property>
104 <property stdset="1"> 86 <property stdset="1">
105 <name>spacing</name> 87 <name>spacing</name>
106 <number>6</number> 88 <number>6</number>
107 </property> 89 </property>
108 <widget> 90 <widget>
109 <class>QLabel</class> 91 <class>QLabel</class>
110 <property stdset="1"> 92 <property stdset="1">
111 <name>name</name> 93 <name>name</name>
112 <cstring>serverLabel</cstring> 94 <cstring>serverLabel</cstring>
113 </property> 95 </property>
114 <property stdset="1"> 96 <property stdset="1">
115 <name>text</name> 97 <name>text</name>
116 <string>Server</string> 98 <string>Server</string>
117 </property> 99 </property>
118 </widget> 100 </widget>
119 <widget> 101 <widget>
120 <class>QLabel</class> 102 <class>QLabel</class>
121 <property stdset="1"> 103 <property stdset="1">
122 <name>name</name> 104 <name>name</name>
123 <cstring>portLabel</cstring> 105 <cstring>portLabel</cstring>
124 </property> 106 </property>
125 <property stdset="1"> 107 <property stdset="1">
126 <name>text</name> 108 <name>text</name>
127 <string>Port</string> 109 <string>Port</string>
128 </property> 110 </property>
129 </widget> 111 </widget>
130 </vbox> 112 </vbox>
131 </widget> 113 </widget>
132 <widget> 114 <widget>
133 <class>QLayoutWidget</class> 115 <class>QLayoutWidget</class>
134 <property stdset="1"> 116 <property stdset="1">
135 <name>name</name> 117 <name>name</name>
136 <cstring>Layout19</cstring> 118 <cstring>Layout19</cstring>
137 </property> 119 </property>
138 <vbox> 120 <vbox>
139 <property stdset="1"> 121 <property stdset="1">
140 <name>margin</name> 122 <name>margin</name>
141 <number>0</number> 123 <number>0</number>
142 </property> 124 </property>
143 <property stdset="1"> 125 <property stdset="1">
144 <name>spacing</name> 126 <name>spacing</name>
145 <number>6</number> 127 <number>6</number>
146 </property> 128 </property>
147 <widget> 129 <widget>
148 <class>QLineEdit</class> 130 <class>QLineEdit</class>
149 <property stdset="1"> 131 <property stdset="1">
150 <name>name</name> 132 <name>name</name>
151 <cstring>serverLine</cstring> 133 <cstring>serverLine</cstring>
152 </property> 134 </property>
153 <property> 135 <property>
154 <name>toolTip</name> 136 <name>toolTip</name>
155 <string>Name of the SMTP Server</string> 137 <string>Name of the SMTP Server</string>
156 </property> 138 </property>
157 </widget> 139 </widget>
158 <widget> 140 <widget>
159 <class>QLineEdit</class> 141 <class>QLineEdit</class>
160 <property stdset="1"> 142 <property stdset="1">
161 <name>name</name> 143 <name>name</name>
162 <cstring>portLine</cstring> 144 <cstring>portLine</cstring>
163 </property> 145 </property>
164 <property> 146 <property>
165 <name>toolTip</name> 147 <name>toolTip</name>
166 <string>Port of the SMTP Server</string> 148 <string>Port of the SMTP Server</string>
167 </property> 149 </property>
168 </widget> 150 </widget>
169 </vbox> 151 </vbox>
170 </widget> 152 </widget>
171 </hbox> 153 </hbox>
172 </widget> 154 </widget>
173 <widget> 155 <widget>
174 <class>QLabel</class> 156 <class>QLabel</class>
175 <property stdset="1"> 157 <property stdset="1">
176 <name>name</name> 158 <name>name</name>
177 <cstring>TextLabel1</cstring> 159 <cstring>TextLabel1</cstring>
178 </property> 160 </property>
179 <property stdset="1"> 161 <property stdset="1">
180 <name>text</name> 162 <name>text</name>
181 <string>Use secure sockets:</string> 163 <string>Use secure sockets:</string>
182 </property> 164 </property>
183 </widget> 165 </widget>
184 <widget> 166 <widget>
185 <class>QComboBox</class> 167 <class>QComboBox</class>
186 <property stdset="1"> 168 <property stdset="1">
187 <name>name</name> 169 <name>name</name>
188 <cstring>ComboBox1</cstring> 170 <cstring>ComboBox1</cstring>
189 </property> 171 </property>
190 </widget> 172 </widget>
191 <widget> 173 <widget>
192 <class>QLineEdit</class> 174 <class>QLineEdit</class>
193 <property stdset="1"> 175 <property stdset="1">
194 <name>name</name> 176 <name>name</name>
195 <cstring>CommandEdit</cstring> 177 <cstring>CommandEdit</cstring>
196 </property> 178 </property>
197 <property stdset="1"> 179 <property stdset="1">
198 <name>text</name> 180 <name>text</name>
199 <string>ssh $SERVER exec</string> 181 <string>ssh $SERVER exec</string>
200 </property> 182 </property>
201 </widget> 183 </widget>
202 <widget> 184 <widget>
203 <class>Line</class>
204 <property stdset="1">
205 <name>name</name>
206 <cstring>line2</cstring>
207 </property>
208 <property stdset="1">
209 <name>sizePolicy</name>
210 <sizepolicy>
211 <hsizetype>1</hsizetype>
212 <vsizetype>0</vsizetype>
213 </sizepolicy>
214 </property>
215 <property stdset="1">
216 <name>orientation</name>
217 <enum>Horizontal</enum>
218 </property>
219 </widget>
220 <widget>
221 <class>QCheckBox</class> 185 <class>QCheckBox</class>
222 <property stdset="1"> 186 <property stdset="1">
223 <name>name</name> 187 <name>name</name>
224 <cstring>loginBox</cstring> 188 <cstring>loginBox</cstring>
225 </property> 189 </property>
226 <property stdset="1"> 190 <property stdset="1">
227 <name>text</name> 191 <name>text</name>
228 <string>Use Login</string> 192 <string>Use Login</string>
229 </property> 193 </property>
230 </widget> 194 </widget>
231 <widget> 195 <widget>
232 <class>QLayoutWidget</class> 196 <class>QLayoutWidget</class>
233 <property stdset="1"> 197 <property stdset="1">
234 <name>name</name> 198 <name>name</name>
235 <cstring>Layout17</cstring> 199 <cstring>Layout17</cstring>
236 </property> 200 </property>
237 <hbox> 201 <hbox>
238 <property stdset="1"> 202 <property stdset="1">
239 <name>margin</name> 203 <name>margin</name>
240 <number>0</number> 204 <number>0</number>
241 </property> 205 </property>
242 <property stdset="1"> 206 <property stdset="1">
243 <name>spacing</name> 207 <name>spacing</name>
244 <number>6</number> 208 <number>6</number>
245 </property> 209 </property>
246 <widget> 210 <widget>
247 <class>QLayoutWidget</class> 211 <class>QLayoutWidget</class>
248 <property stdset="1"> 212 <property stdset="1">
249 <name>name</name> 213 <name>name</name>
250 <cstring>Layout15</cstring> 214 <cstring>Layout15</cstring>
251 </property> 215 </property>
252 <vbox> 216 <vbox>
253 <property stdset="1"> 217 <property stdset="1">
254 <name>margin</name> 218 <name>margin</name>
255 <number>0</number> 219 <number>0</number>
256 </property> 220 </property>
257 <property stdset="1"> 221 <property stdset="1">
258 <name>spacing</name> 222 <name>spacing</name>
259 <number>6</number> 223 <number>6</number>
260 </property> 224 </property>
261 <widget> 225 <widget>
262 <class>QLabel</class> 226 <class>QLabel</class>
263 <property stdset="1"> 227 <property stdset="1">
264 <name>name</name> 228 <name>name</name>
265 <cstring>userLabel</cstring> 229 <cstring>userLabel</cstring>
266 </property> 230 </property>
267 <property stdset="1"> 231 <property stdset="1">
268 <name>text</name> 232 <name>text</name>
269 <string>User</string> 233 <string>User</string>
270 </property> 234 </property>
271 </widget> 235 </widget>
272 <widget> 236 <widget>
273 <class>QLabel</class> 237 <class>QLabel</class>
274 <property stdset="1"> 238 <property stdset="1">
275 <name>name</name> 239 <name>name</name>
276 <cstring>passLabel</cstring> 240 <cstring>passLabel</cstring>
277 </property> 241 </property>
278 <property stdset="1"> 242 <property stdset="1">
279 <name>text</name> 243 <name>text</name>
280 <string>Password</string> 244 <string>Password</string>
281 </property> 245 </property>
282 </widget> 246 </widget>
283 </vbox> 247 </vbox>
284 </widget> 248 </widget>
285 <widget> 249 <widget>
286 <class>QLayoutWidget</class> 250 <class>QLayoutWidget</class>
287 <property stdset="1"> 251 <property stdset="1">
288 <name>name</name> 252 <name>name</name>
289 <cstring>Layout16</cstring> 253 <cstring>Layout16</cstring>
290 </property> 254 </property>
291 <vbox> 255 <vbox>
292 <property stdset="1"> 256 <property stdset="1">
293 <name>margin</name> 257 <name>margin</name>
294 <number>0</number> 258 <number>0</number>
295 </property> 259 </property>
296 <property stdset="1"> 260 <property stdset="1">
297 <name>spacing</name> 261 <name>spacing</name>
298 <number>6</number> 262 <number>6</number>
299 </property> 263 </property>
300 <widget> 264 <widget>
301 <class>QLineEdit</class> 265 <class>QLineEdit</class>
302 <property stdset="1"> 266 <property stdset="1">
303 <name>name</name> 267 <name>name</name>
304 <cstring>userLine</cstring> 268 <cstring>userLine</cstring>
305 </property> 269 </property>
306 <property stdset="1"> 270 <property stdset="1">
307 <name>enabled</name> 271 <name>enabled</name>
308 <bool>false</bool> 272 <bool>false</bool>
309 </property> 273 </property>
310 </widget> 274 </widget>
311 <widget> 275 <widget>
312 <class>QLineEdit</class> 276 <class>QLineEdit</class>
313 <property stdset="1"> 277 <property stdset="1">
314 <name>name</name> 278 <name>name</name>
315 <cstring>passLine</cstring> 279 <cstring>passLine</cstring>
316 </property> 280 </property>
317 <property stdset="1"> 281 <property stdset="1">
318 <name>enabled</name> 282 <name>enabled</name>
319 <bool>false</bool> 283 <bool>false</bool>
320 </property> 284 </property>
321 <property stdset="1"> 285 <property stdset="1">
322 <name>echoMode</name> 286 <name>echoMode</name>
323 <enum>Password</enum> 287 <enum>Password</enum>
324 </property> 288 </property>
325 </widget> 289 </widget>
326 </vbox> 290 </vbox>
327 </widget> 291 </widget>
328 </hbox> 292 </hbox>
329 </widget> 293 </widget>
294 <widget>
295 <class>QLayoutWidget</class>
296 <property stdset="1">
297 <name>name</name>
298 <cstring>Layout7</cstring>
299 </property>
300 <hbox>
301 <property stdset="1">
302 <name>margin</name>
303 <number>0</number>
304 </property>
305 <property stdset="1">
306 <name>spacing</name>
307 <number>6</number>
308 </property>
309 <widget>
310 <class>QLabel</class>
311 <property stdset="1">
312 <name>name</name>
313 <cstring>TextLabel1_2</cstring>
314 </property>
315 <property stdset="1">
316 <name>text</name>
317 <string>Signatur File</string>
318 </property>
319 </widget>
320 <widget>
321 <class>QLineEdit</class>
322 <property stdset="1">
323 <name>name</name>
324 <cstring>SignaturEdit</cstring>
325 </property>
326 </widget>
327 <widget>
328 <class>QPushButton</class>
329 <property stdset="1">
330 <name>name</name>
331 <cstring>SignaturButton</cstring>
332 </property>
333 <property stdset="1">
334 <name>sizePolicy</name>
335 <sizepolicy>
336 <hsizetype>1</hsizetype>
337 <vsizetype>1</vsizetype>
338 </sizepolicy>
339 </property>
340 <property stdset="1">
341 <name>text</name>
342 <string>F</string>
343 </property>
344 </widget>
345 </hbox>
346 </widget>
330 <spacer> 347 <spacer>
331 <property> 348 <property>
332 <name>name</name> 349 <name>name</name>
333 <cstring>spacer</cstring> 350 <cstring>spacer</cstring>
334 </property> 351 </property>
335 <property stdset="1"> 352 <property stdset="1">
336 <name>orientation</name> 353 <name>orientation</name>
337 <enum>Vertical</enum> 354 <enum>Vertical</enum>
338 </property> 355 </property>
339 <property stdset="1"> 356 <property stdset="1">
340 <name>sizeType</name> 357 <name>sizeType</name>
341 <enum>Expanding</enum> 358 <enum>Expanding</enum>
342 </property> 359 </property>
343 <property> 360 <property>
344 <name>sizeHint</name> 361 <name>sizeHint</name>
345 <size> 362 <size>
346 <width>20</width> 363 <width>20</width>
347 <height>20</height> 364 <height>20</height>
348 </size> 365 </size>
349 </property> 366 </property>
350 </spacer> 367 </spacer>
351 </vbox> 368 </vbox>
352</widget> 369</widget>
353<tabstops> 370<tabstops>
354 <tabstop>accountLine</tabstop> 371 <tabstop>accountLine</tabstop>
355 <tabstop>serverLine</tabstop> 372 <tabstop>serverLine</tabstop>
356 <tabstop>portLine</tabstop> 373 <tabstop>portLine</tabstop>
357 <tabstop>loginBox</tabstop> 374 <tabstop>loginBox</tabstop>
358 <tabstop>userLine</tabstop> 375 <tabstop>userLine</tabstop>
359 <tabstop>passLine</tabstop> 376 <tabstop>passLine</tabstop>
360</tabstops> 377</tabstops>
361</UI> 378</UI>