summaryrefslogtreecommitdiff
path: root/noncore/net/mail/libmailwrapper/settings.cpp
Unidiff
Diffstat (limited to 'noncore/net/mail/libmailwrapper/settings.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/settings.cpp36
1 files changed, 23 insertions, 13 deletions
diff --git a/noncore/net/mail/libmailwrapper/settings.cpp b/noncore/net/mail/libmailwrapper/settings.cpp
index 17aa1b0..c5187f5 100644
--- a/noncore/net/mail/libmailwrapper/settings.cpp
+++ b/noncore/net/mail/libmailwrapper/settings.cpp
@@ -1,31 +1,41 @@
1#include <stdlib.h> 1#include <stdlib.h>
2#include <qdir.h> 2#include <qdir.h>
3 3
4#include <qpe/config.h> 4#include <qpe/config.h>
5 5
6#include "settings.h" 6#include "settings.h"
7#include "defines.h" 7//#include "defines.h"
8
9#define IMAP_PORT "143"
10#define IMAP_SSL_PORT "993"
11#define SMTP_PORT "25"
12#define SMTP_SSL_PORT "465"
13#define POP3_PORT "110"
14#define POP3_SSL_PORT "995"
15#define NNTP_PORT "119"
16#define NNTP_SSL_PORT "563"
17
8 18
9Settings::Settings() 19Settings::Settings()
10 : QObject() 20 : QObject()
11{ 21{
12 updateAccounts(); 22 updateAccounts();
13} 23}
14 24
15void Settings::checkDirectory() 25void Settings::checkDirectory()
16{ 26{
17 if ( !QDir( (QString) getenv( "HOME" ) + "/Applications/opiemail/" ).exists() ) { 27 if ( !QDir( (QString) getenv( "HOME" ) + "/Applications/opiemail/" ).exists() ) {
18 system( "mkdir -p $HOME/Applications/opiemail" ); 28 system( "mkdir -p $HOME/Applications/opiemail" );
19 qDebug( "$HOME/Applications/opiemail created" ); 29 qDebug( "$HOME/Applications/opiemail created" );
20 } 30 }
21} 31}
22 32
23QList<Account> Settings::getAccounts() 33QList<Account> Settings::getAccounts()
24{ 34{
25 return accounts; 35 return accounts;
26} 36}
27 37
28void Settings::addAccount( Account *account ) 38void Settings::addAccount( Account *account )
29{ 39{
30 accounts.append( account ); 40 accounts.append( account );
31} 41}
@@ -41,363 +51,363 @@ void Settings::updateAccounts()
41 accounts.clear(); 51 accounts.clear();
42 QDir dir( (QString) getenv( "HOME" ) + "/Applications/opiemail" ); 52 QDir dir( (QString) getenv( "HOME" ) + "/Applications/opiemail" );
43 QStringList::Iterator it; 53 QStringList::Iterator it;
44 54
45 QStringList imap = dir.entryList( "imap-*" ); 55 QStringList imap = dir.entryList( "imap-*" );
46 for ( it = imap.begin(); it != imap.end(); it++ ) { 56 for ( it = imap.begin(); it != imap.end(); it++ ) {
47 qDebug( "Added IMAP account" ); 57 qDebug( "Added IMAP account" );
48 IMAPaccount *account = new IMAPaccount( (*it).replace(0, 5, "") ); 58 IMAPaccount *account = new IMAPaccount( (*it).replace(0, 5, "") );
49 accounts.append( account ); 59 accounts.append( account );
50 } 60 }
51 61
52 QStringList pop3 = dir.entryList( "pop3-*" ); 62 QStringList pop3 = dir.entryList( "pop3-*" );
53 for ( it = pop3.begin(); it != pop3.end(); it++ ) { 63 for ( it = pop3.begin(); it != pop3.end(); it++ ) {
54 qDebug( "Added POP account" ); 64 qDebug( "Added POP account" );
55 POP3account *account = new POP3account( (*it).replace(0, 5, "") ); 65 POP3account *account = new POP3account( (*it).replace(0, 5, "") );
56 accounts.append( account ); 66 accounts.append( account );
57 } 67 }
58 68
59 QStringList smtp = dir.entryList( "smtp-*" ); 69 QStringList smtp = dir.entryList( "smtp-*" );
60 for ( it = smtp.begin(); it != smtp.end(); it++ ) { 70 for ( it = smtp.begin(); it != smtp.end(); it++ ) {
61 qDebug( "Added SMTP account" ); 71 qDebug( "Added SMTP account" );
62 SMTPaccount *account = new SMTPaccount( (*it).replace(0, 5, "") ); 72 SMTPaccount *account = new SMTPaccount( (*it).replace(0, 5, "") );
63 accounts.append( account ); 73 accounts.append( account );
64 } 74 }
65 75
66 QStringList nntp = dir.entryList( "nntp-*" ); 76 QStringList nntp = dir.entryList( "nntp-*" );
67 for ( it = nntp.begin(); it != nntp.end(); it++ ) { 77 for ( it = nntp.begin(); it != nntp.end(); it++ ) {
68 qDebug( "Added NNTP account" ); 78 qDebug( "Added NNTP account" );
69 NNTPaccount *account = new NNTPaccount( (*it).replace(0, 5, "") ); 79 NNTPaccount *account = new NNTPaccount( (*it).replace(0, 5, "") );
70 accounts.append( account ); 80 accounts.append( account );
71 } 81 }
72 82
73 readAccounts(); 83 readAccounts();
74} 84}
75 85
76void Settings::saveAccounts() 86void Settings::saveAccounts()
77{ 87{
78 checkDirectory(); 88 checkDirectory();
79 Account *it; 89 Account *it;
80 90
81 for ( it = accounts.first(); it; it = accounts.next() ) { 91 for ( it = accounts.first(); it; it = accounts.next() ) {
82 it->save(); 92 it->save();
83 } 93 }
84} 94}
85 95
86void Settings::readAccounts() 96void Settings::readAccounts()
87{ 97{
88 checkDirectory(); 98 checkDirectory();
89 Account *it; 99 Account *it;
90 100
91 for ( it = accounts.first(); it; it = accounts.next() ) { 101 for ( it = accounts.first(); it; it = accounts.next() ) {
92 it->read(); 102 it->read();
93 } 103 }
94} 104}
95 105
96Account::Account() 106Account::Account()
97{ 107{
98 accountName = "changeMe"; 108 accountName = "changeMe";
99 type = "changeMe"; 109 type = "changeMe";
100 ssl = false; 110 ssl = false;
101} 111}
102 112
103void Account::remove() 113void Account::remove()
104{ 114{
105 QFile file( getFileName() ); 115 QFile file( getFileName() );
106 file.remove(); 116 file.remove();
107} 117}
108 118
109IMAPaccount::IMAPaccount() 119IMAPaccount::IMAPaccount()
110 : Account() 120 : Account()
111{ 121{
112 file = IMAPaccount::getUniqueFileName(); 122 file = IMAPaccount::getUniqueFileName();
113 accountName = "New IMAP Account"; 123 accountName = "New IMAP Account";
114 ssl = false; 124 ssl = false;
115 type = "IMAP"; 125 type = "IMAP";
116 port = IMAP_PORT; 126 port = IMAP_PORT;
117} 127}
118 128
119IMAPaccount::IMAPaccount( QString filename ) 129IMAPaccount::IMAPaccount( QString filename )
120 : Account() 130 : Account()
121{ 131{
122 file = filename; 132 file = filename;
123 accountName = "New IMAP Account"; 133 accountName = "New IMAP Account";
124 ssl = false; 134 ssl = false;
125 type = "IMAP"; 135 type = "IMAP";
126 port = IMAP_PORT; 136 port = IMAP_PORT;
127} 137}
128 138
129QString IMAPaccount::getUniqueFileName() 139QString IMAPaccount::getUniqueFileName()
130{ 140{
131 int num = 0; 141 int num = 0;
132 QString unique; 142 QString unique;
133 143
134 QDir dir( (QString) getenv( "HOME" ) + "/Applications/opiemail" ); 144 QDir dir( (QString) getenv( "HOME" ) + "/Applications/opiemail" );
135 145
136 QStringList imap = dir.entryList( "imap-*" ); 146 QStringList imap = dir.entryList( "imap-*" );
137 do { 147 do {
138 unique.setNum( num++ ); 148 unique.setNum( num++ );
139 } while ( imap.contains( "imap-" + unique ) > 0 ); 149 } while ( imap.contains( "imap-" + unique ) > 0 );
140 150
141 return unique; 151 return unique;
142} 152}
143 153
144void IMAPaccount::read() 154void IMAPaccount::read()
145{ 155{
146 Config *conf = new Config( getFileName(), Config::File ); 156 Config *conf = new Config( getFileName(), Config::File );
147 conf->setGroup( "IMAP Account" ); 157 conf->setGroup( "IMAP Account" );
148 accountName = conf->readEntry( "Account","" ); 158 accountName = conf->readEntry( "Account","" );
149 if (accountName.isNull()) accountName = ""; 159 if (accountName.isNull()) accountName = "";
150 server = conf->readEntry( "Server","" ); 160 server = conf->readEntry( "Server","" );
151 if (server.isNull()) server=""; 161 if (server.isNull()) server="";
152 port = conf->readEntry( "Port","" ); 162 port = conf->readEntry( "Port","" );
153 if (port.isNull()) port="143"; 163 if (port.isNull()) port="143";
154 ssl = conf->readBoolEntry( "SSL",false ); 164 ssl = conf->readBoolEntry( "SSL",false );
155 user = conf->readEntry( "User","" ); 165 user = conf->readEntry( "User","" );
156 if (user.isNull()) user = ""; 166 if (user.isNull()) user = "";
157 password = conf->readEntryCrypt( "Password","" ); 167 password = conf->readEntryCrypt( "Password","" );
158 if (password.isNull()) password = ""; 168 if (password.isNull()) password = "";
159 prefix = conf->readEntry("MailPrefix",""); 169 prefix = conf->readEntry("MailPrefix","");
160 if (prefix.isNull()) prefix = ""; 170 if (prefix.isNull()) prefix = "";
161} 171}
162 172
163void IMAPaccount::save() 173void IMAPaccount::save()
164{ 174{
165 qDebug( "saving " + getFileName() ); 175 qDebug( "saving " + getFileName() );
166 Settings::checkDirectory(); 176 Settings::checkDirectory();
167 177
168 Config *conf = new Config( getFileName(), Config::File ); 178 Config *conf = new Config( getFileName(), Config::File );
169 conf->setGroup( "IMAP Account" ); 179 conf->setGroup( "IMAP Account" );
170 conf->writeEntry( "Account", accountName ); 180 conf->writeEntry( "Account", accountName );
171 conf->writeEntry( "Server", server ); 181 conf->writeEntry( "Server", server );
172 conf->writeEntry( "Port", port ); 182 conf->writeEntry( "Port", port );
173 conf->writeEntry( "SSL", ssl ); 183 conf->writeEntry( "SSL", ssl );
174 conf->writeEntry( "User", user ); 184 conf->writeEntry( "User", user );
175 conf->writeEntryCrypt( "Password", password ); 185 conf->writeEntryCrypt( "Password", password );
176 conf->writeEntry( "MailPrefix",prefix); 186 conf->writeEntry( "MailPrefix",prefix);
177 conf->write(); 187 conf->write();
178} 188}
179 189
180 190
181QString IMAPaccount::getFileName() 191QString IMAPaccount::getFileName()
182{ 192{
183 return (QString) getenv( "HOME" ) + "/Applications/opiemail/imap-" + file; 193 return (QString) getenv( "HOME" ) + "/Applications/opiemail/imap-" + file;
184} 194}
185 195
186POP3account::POP3account() 196POP3account::POP3account()
187 : Account() 197 : Account()
188{ 198{
189 file = POP3account::getUniqueFileName(); 199 file = POP3account::getUniqueFileName();
190 accountName = "New POP3 Account"; 200 accountName = "New POP3 Account";
191 ssl = false; 201 ssl = false;
192 type = "POP3"; 202 type = "POP3";
193 port = POP3_PORT; 203 port = POP3_PORT;
194} 204}
195 205
196POP3account::POP3account( QString filename ) 206POP3account::POP3account( QString filename )
197 : Account() 207 : Account()
198{ 208{
199 file = filename; 209 file = filename;
200 accountName = "New POP3 Account"; 210 accountName = "New POP3 Account";
201 ssl = false; 211 ssl = false;
202 type = "POP3"; 212 type = "POP3";
203 port = POP3_PORT; 213 port = POP3_PORT;
204} 214}
205 215
206QString POP3account::getUniqueFileName() 216QString POP3account::getUniqueFileName()
207{ 217{
208 int num = 0; 218 int num = 0;
209 QString unique; 219 QString unique;
210 220
211 QDir dir( (QString) getenv( "HOME" ) + "/Applications/opiemail" ); 221 QDir dir( (QString) getenv( "HOME" ) + "/Applications/opiemail" );
212 222
213 QStringList imap = dir.entryList( "pop3-*" ); 223 QStringList imap = dir.entryList( "pop3-*" );
214 do { 224 do {
215 unique.setNum( num++ ); 225 unique.setNum( num++ );
216 } while ( imap.contains( "pop3-" + unique ) > 0 ); 226 } while ( imap.contains( "pop3-" + unique ) > 0 );
217 227
218 return unique; 228 return unique;
219} 229}
220 230
221void POP3account::read() 231void POP3account::read()
222{ 232{
223 Config *conf = new Config( getFileName(), Config::File ); 233 Config *conf = new Config( getFileName(), Config::File );
224 conf->setGroup( "POP3 Account" ); 234 conf->setGroup( "POP3 Account" );
225 accountName = conf->readEntry( "Account" ); 235 accountName = conf->readEntry( "Account" );
226 server = conf->readEntry( "Server" ); 236 server = conf->readEntry( "Server" );
227 port = conf->readEntry( "Port" ); 237 port = conf->readEntry( "Port" );
228 ssl = conf->readBoolEntry( "SSL" ); 238 ssl = conf->readBoolEntry( "SSL" );
229 user = conf->readEntry( "User" ); 239 user = conf->readEntry( "User" );
230 password = conf->readEntryCrypt( "Password" ); 240 password = conf->readEntryCrypt( "Password" );
231} 241}
232 242
233void POP3account::save() 243void POP3account::save()
234{ 244{
235 qDebug( "saving " + getFileName() ); 245 qDebug( "saving " + getFileName() );
236 Settings::checkDirectory(); 246 Settings::checkDirectory();
237 247
238 Config *conf = new Config( getFileName(), Config::File ); 248 Config *conf = new Config( getFileName(), Config::File );
239 conf->setGroup( "POP3 Account" ); 249 conf->setGroup( "POP3 Account" );
240 conf->writeEntry( "Account", accountName ); 250 conf->writeEntry( "Account", accountName );
241 conf->writeEntry( "Server", server ); 251 conf->writeEntry( "Server", server );
242 conf->writeEntry( "Port", port ); 252 conf->writeEntry( "Port", port );
243 conf->writeEntry( "SSL", ssl ); 253 conf->writeEntry( "SSL", ssl );
244 conf->writeEntry( "User", user ); 254 conf->writeEntry( "User", user );
245 conf->writeEntryCrypt( "Password", password ); 255 conf->writeEntryCrypt( "Password", password );
246 conf->write(); 256 conf->write();
247} 257}
248 258
249 259
250QString POP3account::getFileName() 260QString POP3account::getFileName()
251{ 261{
252 return (QString) getenv( "HOME" ) + "/Applications/opiemail/pop3-" + file; 262 return (QString) getenv( "HOME" ) + "/Applications/opiemail/pop3-" + file;
253} 263}
254 264
255SMTPaccount::SMTPaccount() 265SMTPaccount::SMTPaccount()
256 : Account() 266 : Account()
257{ 267{
258 file = SMTPaccount::getUniqueFileName(); 268 file = SMTPaccount::getUniqueFileName();
259 accountName = "New SMTP Account"; 269 accountName = "New SMTP Account";
260 ssl = false; 270 ssl = false;
261 login = false; 271 login = false;
262 useCC = false; 272 useCC = false;
263 useBCC = false; 273 useBCC = false;
264 useReply = false; 274 useReply = false;
265 type = "SMTP"; 275 type = "SMTP";
266 port = SMTP_PORT; 276 port = SMTP_PORT;
267} 277}
268 278
269SMTPaccount::SMTPaccount( QString filename ) 279SMTPaccount::SMTPaccount( QString filename )
270 : Account() 280 : Account()
271{ 281{
272 file = filename; 282 file = filename;
273 accountName = "New SMTP Account"; 283 accountName = "New SMTP Account";
274 ssl = false; 284 ssl = false;
275 login = false; 285 login = false;
276 type = "SMTP"; 286 type = "SMTP";
277 port = SMTP_PORT; 287 port = SMTP_PORT;
278} 288}
279 289
280QString SMTPaccount::getUniqueFileName() 290QString SMTPaccount::getUniqueFileName()
281{ 291{
282 int num = 0; 292 int num = 0;
283 QString unique; 293 QString unique;
284 294
285 QDir dir( (QString) getenv( "HOME" ) + "/Applications/opiemail" ); 295 QDir dir( (QString) getenv( "HOME" ) + "/Applications/opiemail" );
286 296
287 QStringList imap = dir.entryList( "smtp-*" ); 297 QStringList imap = dir.entryList( "smtp-*" );
288 do { 298 do {
289 unique.setNum( num++ ); 299 unique.setNum( num++ );
290 } while ( imap.contains( "smtp-" + unique ) > 0 ); 300 } while ( imap.contains( "smtp-" + unique ) > 0 );
291 301
292 return unique; 302 return unique;
293} 303}
294 304
295void SMTPaccount::read() 305void SMTPaccount::read()
296{ 306{
297 Config *conf = new Config( getFileName(), Config::File ); 307 Config *conf = new Config( getFileName(), Config::File );
298 conf->setGroup( "SMTP Account" ); 308 conf->setGroup( "SMTP Account" );
299 accountName = conf->readEntry( "Account" ); 309 accountName = conf->readEntry( "Account" );
300 server = conf->readEntry( "Server" ); 310 server = conf->readEntry( "Server" );
301 port = conf->readEntry( "Port" ); 311 port = conf->readEntry( "Port" );
302 ssl = conf->readBoolEntry( "SSL" ); 312 ssl = conf->readBoolEntry( "SSL" );
303 login = conf->readBoolEntry( "Login" ); 313 login = conf->readBoolEntry( "Login" );
304 user = conf->readEntry( "User" ); 314 user = conf->readEntry( "User" );
305 password = conf->readEntryCrypt( "Password" ); 315 password = conf->readEntryCrypt( "Password" );
306} 316}
307 317
308void SMTPaccount::save() 318void SMTPaccount::save()
309{ 319{
310 qDebug( "saving " + getFileName() ); 320 qDebug( "saving " + getFileName() );
311 Settings::checkDirectory(); 321 Settings::checkDirectory();
312 322
313 Config *conf = new Config( getFileName(), Config::File ); 323 Config *conf = new Config( getFileName(), Config::File );
314 conf->setGroup( "SMTP Account" ); 324 conf->setGroup( "SMTP Account" );
315 conf->writeEntry( "Account", accountName ); 325 conf->writeEntry( "Account", accountName );
316 conf->writeEntry( "Server", server ); 326 conf->writeEntry( "Server", server );
317 conf->writeEntry( "Port", port ); 327 conf->writeEntry( "Port", port );
318 conf->writeEntry( "SSL", ssl ); 328 conf->writeEntry( "SSL", ssl );
319 conf->writeEntry( "Login", login ); 329 conf->writeEntry( "Login", login );
320 conf->writeEntry( "User", user ); 330 conf->writeEntry( "User", user );
321 conf->writeEntryCrypt( "Password", password ); 331 conf->writeEntryCrypt( "Password", password );
322 conf->write(); 332 conf->write();
323} 333}
324 334
325 335
326QString SMTPaccount::getFileName() 336QString SMTPaccount::getFileName()
327{ 337{
328 return (QString) getenv( "HOME" ) + "/Applications/opiemail/smtp-" + file; 338 return (QString) getenv( "HOME" ) + "/Applications/opiemail/smtp-" + file;
329} 339}
330 340
331NNTPaccount::NNTPaccount() 341NNTPaccount::NNTPaccount()
332 : Account() 342 : Account()
333{ 343{
334 file = NNTPaccount::getUniqueFileName(); 344 file = NNTPaccount::getUniqueFileName();
335 accountName = "New NNTP Account"; 345 accountName = "New NNTP Account";
336 ssl = false; 346 ssl = false;
337 login = false; 347 login = false;
338 type = "NNTP"; 348 type = "NNTP";
339 port = NNTP_PORT; 349 port = NNTP_PORT;
340} 350}
341 351
342NNTPaccount::NNTPaccount( QString filename ) 352NNTPaccount::NNTPaccount( QString filename )
343 : Account() 353 : Account()
344{ 354{
345 file = filename; 355 file = filename;
346 accountName = "New NNTP Account"; 356 accountName = "New NNTP Account";
347 ssl = false; 357 ssl = false;
348 login = false; 358 login = false;
349 type = "NNTP"; 359 type = "NNTP";
350 port = NNTP_PORT; 360 port = NNTP_PORT;
351} 361}
352 362
353QString NNTPaccount::getUniqueFileName() 363QString NNTPaccount::getUniqueFileName()
354{ 364{
355 int num = 0; 365 int num = 0;
356 QString unique; 366 QString unique;
357 367
358 QDir dir( (QString) getenv( "HOME" ) + "/Applications/opiemail" ); 368 QDir dir( (QString) getenv( "HOME" ) + "/Applications/opiemail" );
359 369
360 QStringList imap = dir.entryList( "nntp-*" ); 370 QStringList imap = dir.entryList( "nntp-*" );
361 do { 371 do {
362 unique.setNum( num++ ); 372 unique.setNum( num++ );
363 } while ( imap.contains( "nntp-" + unique ) > 0 ); 373 } while ( imap.contains( "nntp-" + unique ) > 0 );
364 374
365 return unique; 375 return unique;
366} 376}
367 377
368void NNTPaccount::read() 378void NNTPaccount::read()
369{ 379{
370 Config *conf = new Config( getFileName(), Config::File ); 380 Config *conf = new Config( getFileName(), Config::File );
371 conf->setGroup( "NNTP Account" ); 381 conf->setGroup( "NNTP Account" );
372 accountName = conf->readEntry( "Account" ); 382 accountName = conf->readEntry( "Account" );
373 server = conf->readEntry( "Server" ); 383 server = conf->readEntry( "Server" );
374 port = conf->readEntry( "Port" ); 384 port = conf->readEntry( "Port" );
375 ssl = conf->readBoolEntry( "SSL" ); 385 ssl = conf->readBoolEntry( "SSL" );
376 login = conf->readBoolEntry( "Login" ); 386 login = conf->readBoolEntry( "Login" );
377 user = conf->readEntry( "User" ); 387 user = conf->readEntry( "User" );
378 password = conf->readEntryCrypt( "Password" ); 388 password = conf->readEntryCrypt( "Password" );
379} 389}
380 390
381void NNTPaccount::save() 391void NNTPaccount::save()
382{ 392{
383 qDebug( "saving " + getFileName() ); 393 qDebug( "saving " + getFileName() );
384 Settings::checkDirectory(); 394 Settings::checkDirectory();
385 395
386 Config *conf = new Config( getFileName(), Config::File ); 396 Config *conf = new Config( getFileName(), Config::File );
387 conf->setGroup( "NNTP Account" ); 397 conf->setGroup( "NNTP Account" );
388 conf->writeEntry( "Account", accountName ); 398 conf->writeEntry( "Account", accountName );
389 conf->writeEntry( "Server", server ); 399 conf->writeEntry( "Server", server );
390 conf->writeEntry( "Port", port ); 400 conf->writeEntry( "Port", port );
391 conf->writeEntry( "SSL", ssl ); 401 conf->writeEntry( "SSL", ssl );
392 conf->writeEntry( "Login", login ); 402 conf->writeEntry( "Login", login );
393 conf->writeEntry( "User", user ); 403 conf->writeEntry( "User", user );
394 conf->writeEntryCrypt( "Password", password ); 404 conf->writeEntryCrypt( "Password", password );
395 conf->write(); 405 conf->write();
396} 406}
397 407
398 408
399QString NNTPaccount::getFileName() 409QString NNTPaccount::getFileName()
400{ 410{
401 return (QString) getenv( "HOME" ) + "/Applications/opiemail/nntp-" + file; 411 return (QString) getenv( "HOME" ) + "/Applications/opiemail/nntp-" + file;
402} 412}
403 413