summaryrefslogtreecommitdiffabout
path: root/kmicromail/libmailwrapper/settings.cpp
Unidiff
Diffstat (limited to 'kmicromail/libmailwrapper/settings.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/libmailwrapper/settings.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/kmicromail/libmailwrapper/settings.cpp b/kmicromail/libmailwrapper/settings.cpp
index b0a539e..90e32fa 100644
--- a/kmicromail/libmailwrapper/settings.cpp
+++ b/kmicromail/libmailwrapper/settings.cpp
@@ -66,375 +66,385 @@ void Settings::updateAccounts()
66 } 66 }
67 67
68 QStringList pop3 = dir.entryList( "pop3-*" ); 68 QStringList pop3 = dir.entryList( "pop3-*" );
69 for ( it = pop3.begin(); it != pop3.end(); it++ ) { 69 for ( it = pop3.begin(); it != pop3.end(); it++ ) {
70 POP3account *account = new POP3account( (*it).replace(0, 5, "") ); 70 POP3account *account = new POP3account( (*it).replace(0, 5, "") );
71 accounts.append( account ); 71 accounts.append( account );
72 } 72 }
73 73
74 QStringList smtp = dir.entryList( "smtp-*" ); 74 QStringList smtp = dir.entryList( "smtp-*" );
75 for ( it = smtp.begin(); it != smtp.end(); it++ ) { 75 for ( it = smtp.begin(); it != smtp.end(); it++ ) {
76 SMTPaccount *account = new SMTPaccount( (*it).replace(0, 5, "") ); 76 SMTPaccount *account = new SMTPaccount( (*it).replace(0, 5, "") );
77 accounts.append( account ); 77 accounts.append( account );
78 } 78 }
79 79
80 QStringList nntp = dir.entryList( "nntp-*" ); 80 QStringList nntp = dir.entryList( "nntp-*" );
81 for ( it = nntp.begin(); it != nntp.end(); it++ ) { 81 for ( it = nntp.begin(); it != nntp.end(); it++ ) {
82 NNTPaccount *account = new NNTPaccount( (*it).replace(0, 5, "") ); 82 NNTPaccount *account = new NNTPaccount( (*it).replace(0, 5, "") );
83 accounts.append( account ); 83 accounts.append( account );
84 } 84 }
85 85
86 readAccounts(); 86 readAccounts();
87} 87}
88 88
89void Settings::saveAccounts() 89void Settings::saveAccounts()
90{ 90{
91 checkDirectory(); 91 checkDirectory();
92 Account *it; 92 Account *it;
93 93
94 for ( it = accounts.first(); it; it = accounts.next() ) { 94 for ( it = accounts.first(); it; it = accounts.next() ) {
95 it->save(); 95 it->save();
96 } 96 }
97} 97}
98 98
99void Settings::readAccounts() 99void Settings::readAccounts()
100{ 100{
101 checkDirectory(); 101 checkDirectory();
102 Account *it; 102 Account *it;
103 103
104 for ( it = accounts.first(); it; it = accounts.next() ) { 104 for ( it = accounts.first(); it; it = accounts.next() ) {
105 it->read(); 105 it->read();
106 } 106 }
107} 107}
108 108
109Account::Account() 109Account::Account()
110{ 110{
111 accountName = "changeMe"; 111 accountName = "changeMe";
112 type = MAILLIB::A_UNDEFINED; 112 type = MAILLIB::A_UNDEFINED;
113 ssl = false; 113 ssl = false;
114 connectionType = 1; 114 connectionType = 1;
115 offline = false; 115 offline = false;
116} 116}
117 117
118void Account::remove() 118void Account::remove()
119{ 119{
120 QFile file( getFileName() ); 120 QFile file( getFileName() );
121 file.remove(); 121 file.remove();
122} 122}
123 123
124IMAPaccount::IMAPaccount() 124IMAPaccount::IMAPaccount()
125 : Account() 125 : Account()
126{ 126{
127 file = IMAPaccount::getUniqueFileName(); 127 file = IMAPaccount::getUniqueFileName();
128 accountName = "New IMAP Account"; 128 accountName = "New IMAP Account";
129 ssl = false; 129 ssl = false;
130 connectionType = 1; 130 connectionType = 1;
131 type = MAILLIB::A_IMAP; 131 type = MAILLIB::A_IMAP;
132 port = IMAP_PORT; 132 port = IMAP_PORT;
133} 133}
134 134
135IMAPaccount::IMAPaccount( QString filename ) 135IMAPaccount::IMAPaccount( QString filename )
136 : Account() 136 : Account()
137{ 137{
138 file = filename; 138 file = filename;
139 accountName = "New IMAP Account"; 139 accountName = "New IMAP Account";
140 ssl = false; 140 ssl = false;
141 connectionType = 1; 141 connectionType = 1;
142 type = MAILLIB::A_IMAP; 142 type = MAILLIB::A_IMAP;
143 port = IMAP_PORT; 143 port = IMAP_PORT;
144} 144}
145 145
146QString IMAPaccount::getUniqueFileName() 146QString IMAPaccount::getUniqueFileName()
147{ 147{
148 int num = 0; 148 int num = 0;
149 QString unique; 149 QString unique;
150 150
151 QDir dir( locateLocal("data", "kopiemail" ) ); 151 QDir dir( locateLocal("data", "kopiemail" ) );
152 152
153 QStringList imap = dir.entryList( "imap-*" ); 153 QStringList imap = dir.entryList( "imap-*" );
154 do { 154 do {
155 unique.setNum( num++ ); 155 unique.setNum( num++ );
156 } while ( imap.contains( "imap-" + unique ) > 0 ); 156 } while ( imap.contains( "imap-" + unique ) > 0 );
157 157
158 return unique; 158 return unique;
159} 159}
160 160
161void IMAPaccount::read() 161void IMAPaccount::read()
162{ 162{
163 Config *conf = new Config( getFileName(), Config::File ); 163 Config *conf = new Config( getFileName(), Config::File );
164 conf->setGroup( "IMAP Account" ); 164 conf->setGroup( "IMAP Account" );
165 accountName = conf->readEntry( "Account","" ); 165 accountName = conf->readEntry( "Account","" );
166 if (accountName.isNull()) accountName = ""; 166 if (accountName.isNull()) accountName = "";
167 server = conf->readEntry( "Server","" ); 167 server = conf->readEntry( "Server","" );
168 if (server.isNull()) server=""; 168 if (server.isNull()) server="";
169 port = conf->readEntry( "Port","" ); 169 port = conf->readEntry( "Port","" );
170 if (port.isNull()) port="143"; 170 if (port.isNull()) port="143";
171 connectionType = conf->readNumEntry( "ConnectionType" ); 171 connectionType = conf->readNumEntry( "ConnectionType" );
172 ssl = conf->readBoolEntry( "SSL",false ); 172 ssl = conf->readBoolEntry( "SSL",false );
173 user = conf->readEntry( "User","" ); 173 user = conf->readEntry( "User","" );
174 if (user.isNull()) user = ""; 174 if (user.isNull()) user = "";
175 password = conf->readEntryCrypt( "Password","" ); 175 password = conf->readEntryCrypt( "Password","" );
176 if (password.isNull()) password = ""; 176 if (password.isNull()) password = "";
177 prefix = conf->readEntry("MailPrefix",""); 177 prefix = conf->readEntry("MailPrefix","");
178 if (prefix.isNull()) prefix = ""; 178 if (prefix.isNull()) prefix = "";
179 offline = conf->readBoolEntry("Offline",false); 179 offline = conf->readBoolEntry("Offline",false);
180 delete conf; 180 delete conf;
181} 181}
182 182
183void IMAPaccount::save() 183void IMAPaccount::save()
184{ 184{
185 qDebug("saving %s ",getFileName().latin1() ); 185 qDebug("saving %s ",getFileName().latin1() );
186 Settings::checkDirectory(); 186 Settings::checkDirectory();
187 187
188 Config *conf = new Config( getFileName(), Config::File ); 188 Config *conf = new Config( getFileName(), Config::File );
189 conf->setGroup( "IMAP Account" ); 189 conf->setGroup( "IMAP Account" );
190 conf->writeEntry( "Account", accountName ); 190 conf->writeEntry( "Account", accountName );
191 conf->writeEntry( "Server", server ); 191 conf->writeEntry( "Server", server );
192 conf->writeEntry( "Port", port ); 192 conf->writeEntry( "Port", port );
193 conf->writeEntry( "SSL", ssl ); 193 conf->writeEntry( "SSL", ssl );
194 conf->writeEntry( "ConnectionType", connectionType ); 194 conf->writeEntry( "ConnectionType", connectionType );
195 conf->writeEntry( "User", user ); 195 conf->writeEntry( "User", user );
196 conf->writeEntryCrypt( "Password", password ); 196 conf->writeEntryCrypt( "Password", password );
197 conf->writeEntry( "MailPrefix",prefix); 197 conf->writeEntry( "MailPrefix",prefix);
198 conf->writeEntry( "Offline",offline); 198 conf->writeEntry( "Offline",offline);
199 conf->write(); 199 conf->write();
200 delete conf; 200 delete conf;
201} 201}
202 202
203 203
204QString IMAPaccount::getFileName() 204QString IMAPaccount::getFileName()
205{ 205{
206 return locateLocal("data", "kopiemail" ) +"/imap-" + file; 206 return locateLocal("data", "kopiemail" ) +"/imap-" + file;
207} 207}
208 208
209POP3account::POP3account() 209POP3account::POP3account()
210 : Account() 210 : Account()
211{ 211{
212 file = POP3account::getUniqueFileName(); 212 file = POP3account::getUniqueFileName();
213 accountName = "New POP3 Account"; 213 accountName = "New POP3 Account";
214 ssl = false; 214 ssl = false;
215 connectionType = 1; 215 connectionType = 1;
216 type = MAILLIB::A_POP3; 216 type = MAILLIB::A_POP3;
217 port = POP3_PORT; 217 port = POP3_PORT;
218} 218}
219 219
220POP3account::POP3account( QString filename ) 220POP3account::POP3account( QString filename )
221 : Account() 221 : Account()
222{ 222{
223 file = filename; 223 file = filename;
224 accountName = "New POP3 Account"; 224 accountName = "New POP3 Account";
225 ssl = false; 225 ssl = false;
226 connectionType = 1; 226 connectionType = 1;
227 type = MAILLIB::A_POP3; 227 type = MAILLIB::A_POP3;
228 port = POP3_PORT; 228 port = POP3_PORT;
229} 229}
230 230
231QString POP3account::getUniqueFileName() 231QString POP3account::getUniqueFileName()
232{ 232{
233 int num = 0; 233 int num = 0;
234 QString unique; 234 QString unique;
235 235
236 QDir dir( locateLocal("data", "kopiemail" ) ); 236 QDir dir( locateLocal("data", "kopiemail" ) );
237 237
238 QStringList imap = dir.entryList( "pop3-*" ); 238 QStringList imap = dir.entryList( "pop3-*" );
239 do { 239 do {
240 unique.setNum( num++ ); 240 unique.setNum( num++ );
241 } while ( imap.contains( "pop3-" + unique ) > 0 ); 241 } while ( imap.contains( "pop3-" + unique ) > 0 );
242 242
243 return unique; 243 return unique;
244} 244}
245 245
246void POP3account::read() 246void POP3account::read()
247{ 247{
248 Config *conf = new Config( getFileName(), Config::File ); 248 Config *conf = new Config( getFileName(), Config::File );
249 conf->setGroup( "POP3 Account" ); 249 conf->setGroup( "POP3 Account" );
250 accountName = conf->readEntry( "Account" ); 250 accountName = conf->readEntry( "Account" );
251 server = conf->readEntry( "Server" ); 251 server = conf->readEntry( "Server" );
252 port = conf->readEntry( "Port" ); 252 port = conf->readEntry( "Port" );
253 ssl = conf->readBoolEntry( "SSL" ); 253 ssl = conf->readBoolEntry( "SSL" );
254 connectionType = conf->readNumEntry( "ConnectionType" ); 254 connectionType = conf->readNumEntry( "ConnectionType" );
255 user = conf->readEntry( "User" ); 255 user = conf->readEntry( "User" );
256 password = conf->readEntryCrypt( "Password" ); 256 password = conf->readEntryCrypt( "Password" );
257 offline = conf->readBoolEntry("Offline",false); 257 offline = conf->readBoolEntry("Offline",false);
258 localFolder = conf->readEntry( "LocalFolder" );
259 maxMailSize = conf->readNumEntry( "MaxSize",0 );
260 int lf = conf->readNumEntry( "LastFetch",0 );
261 QDateTime dt ( QDate ( 2004, 1, 1 ), QTime( 0,0,0) );
262 lastFetch = dt.addSecs( lf );
258 delete conf; 263 delete conf;
259} 264}
260 265
261void POP3account::save() 266void POP3account::save()
262{ 267{
263 Settings::checkDirectory(); 268 Settings::checkDirectory();
264 269
265 Config *conf = new Config( getFileName(), Config::File ); 270 Config *conf = new Config( getFileName(), Config::File );
266 conf->setGroup( "POP3 Account" ); 271 conf->setGroup( "POP3 Account" );
267 conf->writeEntry( "Account", accountName ); 272 conf->writeEntry( "Account", accountName );
268 conf->writeEntry( "Server", server ); 273 conf->writeEntry( "Server", server );
269 conf->writeEntry( "Port", port ); 274 conf->writeEntry( "Port", port );
270 conf->writeEntry( "SSL", ssl ); 275 conf->writeEntry( "SSL", ssl );
271 conf->writeEntry( "ConnectionType", connectionType ); 276 conf->writeEntry( "ConnectionType", connectionType );
272 conf->writeEntry( "User", user ); 277 conf->writeEntry( "User", user );
273 conf->writeEntryCrypt( "Password", password ); 278 conf->writeEntryCrypt( "Password", password );
274 conf->writeEntry( "Offline",offline); 279 conf->writeEntry( "Offline",offline);
280 conf->writeEntry( "LocalFolder", localFolder );
281 conf->writeEntry( "MaxSize", maxMailSize );
282 QDateTime dt ( QDate ( 2004, 1, 1 ), QTime( 0,0,0) );
283 int lf = dt.secsTo ( lastFetch );
284 conf->writeEntry( "LastFetch", lf );
275 conf->write(); 285 conf->write();
276 delete conf; 286 delete conf;
277} 287}
278 288
279 289
280QString POP3account::getFileName() 290QString POP3account::getFileName()
281{ 291{
282 return locateLocal("data", "kopiemail" ) +"/pop3-" + file; 292 return locateLocal("data", "kopiemail" ) +"/pop3-" + file;
283} 293}
284 294
285SMTPaccount::SMTPaccount() 295SMTPaccount::SMTPaccount()
286 : Account() 296 : Account()
287{ 297{
288 file = SMTPaccount::getUniqueFileName(); 298 file = SMTPaccount::getUniqueFileName();
289 accountName = "New SMTP Account"; 299 accountName = "New SMTP Account";
290 ssl = false; 300 ssl = false;
291 connectionType = 1; 301 connectionType = 1;
292 login = false; 302 login = false;
293 useCC = false; 303 useCC = false;
294 useBCC = false; 304 useBCC = false;
295 useReply = false; 305 useReply = false;
296 type = MAILLIB::A_SMTP; 306 type = MAILLIB::A_SMTP;
297 port = SMTP_PORT; 307 port = SMTP_PORT;
298} 308}
299 309
300SMTPaccount::SMTPaccount( QString filename ) 310SMTPaccount::SMTPaccount( QString filename )
301 : Account() 311 : Account()
302{ 312{
303 file = filename; 313 file = filename;
304 accountName = "New SMTP Account"; 314 accountName = "New SMTP Account";
305 ssl = false; 315 ssl = false;
306 connectionType = 1; 316 connectionType = 1;
307 login = false; 317 login = false;
308 type = MAILLIB::A_SMTP; 318 type = MAILLIB::A_SMTP;
309 port = SMTP_PORT; 319 port = SMTP_PORT;
310} 320}
311 321
312QString SMTPaccount::getUniqueFileName() 322QString SMTPaccount::getUniqueFileName()
313{ 323{
314 int num = 0; 324 int num = 0;
315 QString unique; 325 QString unique;
316 326
317 QDir dir( locateLocal("data", "kopiemail" ) ); 327 QDir dir( locateLocal("data", "kopiemail" ) );
318 328
319 QStringList imap = dir.entryList( "smtp-*" ); 329 QStringList imap = dir.entryList( "smtp-*" );
320 do { 330 do {
321 unique.setNum( num++ ); 331 unique.setNum( num++ );
322 } while ( imap.contains( "smtp-" + unique ) > 0 ); 332 } while ( imap.contains( "smtp-" + unique ) > 0 );
323 333
324 return unique; 334 return unique;
325} 335}
326 336
327void SMTPaccount::read() 337void SMTPaccount::read()
328{ 338{
329 Config *conf = new Config( getFileName(), Config::File ); 339 Config *conf = new Config( getFileName(), Config::File );
330 conf->setGroup( "SMTP Account" ); 340 conf->setGroup( "SMTP Account" );
331 accountName = conf->readEntry( "Account" ); 341 accountName = conf->readEntry( "Account" );
332 server = conf->readEntry( "Server" ); 342 server = conf->readEntry( "Server" );
333 port = conf->readEntry( "Port" ); 343 port = conf->readEntry( "Port" );
334 ssl = conf->readBoolEntry( "SSL" ); 344 ssl = conf->readBoolEntry( "SSL" );
335 connectionType = conf->readNumEntry( "ConnectionType" ); 345 connectionType = conf->readNumEntry( "ConnectionType" );
336 login = conf->readBoolEntry( "Login" ); 346 login = conf->readBoolEntry( "Login" );
337 user = conf->readEntry( "User" ); 347 user = conf->readEntry( "User" );
338 password = conf->readEntryCrypt( "Password" ); 348 password = conf->readEntryCrypt( "Password" );
339 delete conf; 349 delete conf;
340} 350}
341 351
342void SMTPaccount::save() 352void SMTPaccount::save()
343{ 353{
344 Settings::checkDirectory(); 354 Settings::checkDirectory();
345 355
346 Config *conf = new Config( getFileName(), Config::File ); 356 Config *conf = new Config( getFileName(), Config::File );
347 conf->setGroup( "SMTP Account" ); 357 conf->setGroup( "SMTP Account" );
348 conf->writeEntry( "Account", accountName ); 358 conf->writeEntry( "Account", accountName );
349 conf->writeEntry( "Server", server ); 359 conf->writeEntry( "Server", server );
350 conf->writeEntry( "Port", port ); 360 conf->writeEntry( "Port", port );
351 conf->writeEntry( "SSL", ssl ); 361 conf->writeEntry( "SSL", ssl );
352 conf->writeEntry( "ConnectionType", connectionType ); 362 conf->writeEntry( "ConnectionType", connectionType );
353 conf->writeEntry( "Login", login ); 363 conf->writeEntry( "Login", login );
354 conf->writeEntry( "User", user ); 364 conf->writeEntry( "User", user );
355 conf->writeEntryCrypt( "Password", password ); 365 conf->writeEntryCrypt( "Password", password );
356 conf->write(); 366 conf->write();
357 delete conf; 367 delete conf;
358} 368}
359 369
360 370
361QString SMTPaccount::getFileName() 371QString SMTPaccount::getFileName()
362{ 372{
363 return locateLocal("data", "kopiemail" ) +"/smtp-" + file; 373 return locateLocal("data", "kopiemail" ) +"/smtp-" + file;
364} 374}
365 375
366NNTPaccount::NNTPaccount() 376NNTPaccount::NNTPaccount()
367 : Account() 377 : Account()
368{ 378{
369 file = NNTPaccount::getUniqueFileName(); 379 file = NNTPaccount::getUniqueFileName();
370 accountName = "New NNTP Account"; 380 accountName = "New NNTP Account";
371 ssl = false; 381 ssl = false;
372 login = false; 382 login = false;
373 type = MAILLIB::A_NNTP; 383 type = MAILLIB::A_NNTP;
374 port = NNTP_PORT; 384 port = NNTP_PORT;
375} 385}
376 386
377NNTPaccount::NNTPaccount( QString filename ) 387NNTPaccount::NNTPaccount( QString filename )
378 : Account() 388 : Account()
379{ 389{
380 file = filename; 390 file = filename;
381 accountName = "New NNTP Account"; 391 accountName = "New NNTP Account";
382 ssl = false; 392 ssl = false;
383 login = false; 393 login = false;
384 type = MAILLIB::A_NNTP; 394 type = MAILLIB::A_NNTP;
385 port = NNTP_PORT; 395 port = NNTP_PORT;
386} 396}
387 397
388QString NNTPaccount::getUniqueFileName() 398QString NNTPaccount::getUniqueFileName()
389{ 399{
390 int num = 0; 400 int num = 0;
391 QString unique; 401 QString unique;
392 402
393 QDir dir( locateLocal("data", "kopiemail" ) ); 403 QDir dir( locateLocal("data", "kopiemail" ) );
394 404
395 QStringList imap = dir.entryList( "nntp-*" ); 405 QStringList imap = dir.entryList( "nntp-*" );
396 do { 406 do {
397 unique.setNum( num++ ); 407 unique.setNum( num++ );
398 } while ( imap.contains( "nntp-" + unique ) > 0 ); 408 } while ( imap.contains( "nntp-" + unique ) > 0 );
399 409
400 return unique; 410 return unique;
401} 411}
402 412
403void NNTPaccount::read() 413void NNTPaccount::read()
404{ 414{
405 Config *conf = new Config( getFileName(), Config::File ); 415 Config *conf = new Config( getFileName(), Config::File );
406 conf->setGroup( "NNTP Account" ); 416 conf->setGroup( "NNTP Account" );
407 accountName = conf->readEntry( "Account" ); 417 accountName = conf->readEntry( "Account" );
408 server = conf->readEntry( "Server" ); 418 server = conf->readEntry( "Server" );
409 port = conf->readEntry( "Port" ); 419 port = conf->readEntry( "Port" );
410 ssl = conf->readBoolEntry( "SSL" ); 420 ssl = conf->readBoolEntry( "SSL" );
411 login = conf->readBoolEntry( "Login" ); 421 login = conf->readBoolEntry( "Login" );
412 user = conf->readEntry( "User" ); 422 user = conf->readEntry( "User" );
413 password = conf->readEntryCrypt( "Password" ); 423 password = conf->readEntryCrypt( "Password" );
414 subscribedGroups = conf->readListEntry( "Subscribed", ',' ); 424 subscribedGroups = conf->readListEntry( "Subscribed", ',' );
415 delete conf; 425 delete conf;
416} 426}
417 427
418void NNTPaccount::save() 428void NNTPaccount::save()
419{ 429{
420 Settings::checkDirectory(); 430 Settings::checkDirectory();
421 431
422 Config *conf = new Config( getFileName(), Config::File ); 432 Config *conf = new Config( getFileName(), Config::File );
423 conf->setGroup( "NNTP Account" ); 433 conf->setGroup( "NNTP Account" );
424 conf->writeEntry( "Account", accountName ); 434 conf->writeEntry( "Account", accountName );
425 conf->writeEntry( "Server", server ); 435 conf->writeEntry( "Server", server );
426 conf->writeEntry( "Port", port ); 436 conf->writeEntry( "Port", port );
427 conf->writeEntry( "SSL", ssl ); 437 conf->writeEntry( "SSL", ssl );
428 conf->writeEntry( "Login", login ); 438 conf->writeEntry( "Login", login );
429 conf->writeEntry( "User", user ); 439 conf->writeEntry( "User", user );
430 conf->writeEntryCrypt( "Password", password ); 440 conf->writeEntryCrypt( "Password", password );
431 conf->writeEntry( "Subscribed" , subscribedGroups, ',' ); 441 conf->writeEntry( "Subscribed" , subscribedGroups, ',' );
432 conf->write(); 442 conf->write();
433 delete conf; 443 delete conf;
434} 444}
435 445
436 446
437QString NNTPaccount::getFileName() 447QString NNTPaccount::getFileName()
438{ 448{
439 return locateLocal("data", "kopiemail" ) +"/nntp-" + file; 449 return locateLocal("data", "kopiemail" ) +"/nntp-" + file;
440} 450}