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.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/kmicromail/libmailwrapper/settings.cpp b/kmicromail/libmailwrapper/settings.cpp
index 766eba0..40b5591 100644
--- a/kmicromail/libmailwrapper/settings.cpp
+++ b/kmicromail/libmailwrapper/settings.cpp
@@ -1,77 +1,76 @@
1#include <stdlib.h> 1#include <stdlib.h>
2#include <qdir.h> 2#include <qdir.h>
3 3
4//#include <opie2/odebug.h> 4//#include <opie2/odebug.h>
5#include <kconfig.h> 5#include <kconfig.h>
6 6
7#include <kstandarddirs.h> 7#include <kstandarddirs.h>
8#include "settings.h" 8#include "settings.h"
9//#include "defines.h" 9//#include "defines.h"
10 10
11#define IMAP_PORT "143" 11#define IMAP_PORT "143"
12#define IMAP_SSL_PORT "993" 12#define IMAP_SSL_PORT "993"
13#define SMTP_PORT "25" 13#define SMTP_PORT "25"
14#define SMTP_SSL_PORT "465" 14#define SMTP_SSL_PORT "465"
15#define POP3_PORT "110" 15#define POP3_PORT "110"
16#define POP3_SSL_PORT "995" 16#define POP3_SSL_PORT "995"
17#define NNTP_PORT "119" 17#define NNTP_PORT "119"
18#define NNTP_SSL_PORT "563" 18#define NNTP_SSL_PORT "563"
19 19
20 20
21Settings::Settings() 21Settings::Settings()
22 : QObject() 22 : QObject()
23{ 23{
24 updateAccounts(); 24 updateAccounts();
25} 25}
26 26
27void Settings::checkDirectory() 27void Settings::checkDirectory()
28{ 28{
29 qDebug("Settings::checkDirectory() ");
30 return; 29 return;
31 locateLocal("data", "kopiemail" ); 30 locateLocal("data", "kopiemail" );
32 /* 31 /*
33 if ( !QDir( (QString) getenv( "HOME" ) + "/Applications/opiemail/" ).exists() ) { 32 if ( !QDir( (QString) getenv( "HOME" ) + "/Applications/opiemail/" ).exists() ) {
34 system( "mkdir -p $HOME/Applications/opiemail" ); 33 system( "mkdir -p $HOME/Applications/opiemail" );
35 qDebug("$HOME/Applications/opiemail created "); 34 qDebug("$HOME/Applications/opiemail created ");
36 } 35 }
37 */ 36 */
38} 37}
39 38
40QList<Account> Settings::getAccounts() 39QList<Account> Settings::getAccounts()
41{ 40{
42 return accounts; 41 return accounts;
43} 42}
44 43
45void Settings::addAccount( Account *account ) 44void Settings::addAccount( Account *account )
46{ 45{
47 accounts.append( account ); 46 accounts.append( account );
48} 47}
49 48
50void Settings::delAccount( Account *account ) 49void Settings::delAccount( Account *account )
51{ 50{
52 accounts.remove( account ); 51 accounts.remove( account );
53 account->remove(); 52 account->remove();
54} 53}
55 54
56void Settings::updateAccounts() 55void Settings::updateAccounts()
57{ 56{
58 accounts.clear(); 57 accounts.clear();
59 QDir dir( locateLocal("data", "kopiemail" ) ); 58 QDir dir( locateLocal("data", "kopiemail" ) );
60 QStringList::Iterator it; 59 QStringList::Iterator it;
61 60
62 QStringList imap = dir.entryList( "imap-*" ); 61 QStringList imap = dir.entryList( "imap-*" );
63 for ( it = imap.begin(); it != imap.end(); it++ ) { 62 for ( it = imap.begin(); it != imap.end(); it++ ) {
64 IMAPaccount *account = new IMAPaccount( (*it).replace(0, 5, "") ); 63 IMAPaccount *account = new IMAPaccount( (*it).replace(0, 5, "") );
65 accounts.append( account ); 64 accounts.append( account );
66 } 65 }
67 66
68 QStringList pop3 = dir.entryList( "pop3-*" ); 67 QStringList pop3 = dir.entryList( "pop3-*" );
69 for ( it = pop3.begin(); it != pop3.end(); it++ ) { 68 for ( it = pop3.begin(); it != pop3.end(); it++ ) {
70 POP3account *account = new POP3account( (*it).replace(0, 5, "") ); 69 POP3account *account = new POP3account( (*it).replace(0, 5, "") );
71 accounts.append( account ); 70 accounts.append( account );
72 } 71 }
73 72
74 QStringList smtp = dir.entryList( "smtp-*" ); 73 QStringList smtp = dir.entryList( "smtp-*" );
75 for ( it = smtp.begin(); it != smtp.end(); it++ ) { 74 for ( it = smtp.begin(); it != smtp.end(); it++ ) {
76 SMTPaccount *account = new SMTPaccount( (*it).replace(0, 5, "") ); 75 SMTPaccount *account = new SMTPaccount( (*it).replace(0, 5, "") );
77 accounts.append( account ); 76 accounts.append( account );
@@ -165,105 +164,104 @@ IMAPaccount::IMAPaccount( QString filename )
165 file = filename; 164 file = filename;
166 accountName = "New IMAP Account"; 165 accountName = "New IMAP Account";
167 ssl = false; 166 ssl = false;
168 connectionType = 1; 167 connectionType = 1;
169 type = MAILLIB::A_IMAP; 168 type = MAILLIB::A_IMAP;
170 port = IMAP_PORT; 169 port = IMAP_PORT;
171} 170}
172 171
173QString IMAPaccount::getUniqueFileName() 172QString IMAPaccount::getUniqueFileName()
174{ 173{
175 int num = 0; 174 int num = 0;
176 QString unique; 175 QString unique;
177 176
178 QDir dir( locateLocal("data", "kopiemail" ) ); 177 QDir dir( locateLocal("data", "kopiemail" ) );
179 178
180 QStringList imap = dir.entryList( "imap-*" ); 179 QStringList imap = dir.entryList( "imap-*" );
181 do { 180 do {
182 unique.setNum( num++ ); 181 unique.setNum( num++ );
183 } while ( imap.contains( "imap-" + unique ) > 0 ); 182 } while ( imap.contains( "imap-" + unique ) > 0 );
184 183
185 return unique; 184 return unique;
186} 185}
187 186
188void IMAPaccount::read() 187void IMAPaccount::read()
189{ 188{
190 KConfig *conf = new KConfig( getFileName() ); 189 KConfig *conf = new KConfig( getFileName() );
191 conf->setGroup( "IMAP Account" ); 190 conf->setGroup( "IMAP Account" );
192 accountName = conf->readEntry( "Account","" ); 191 accountName = conf->readEntry( "Account","" );
193 if (accountName.isNull()) accountName = ""; 192 if (accountName.isNull()) accountName = "";
194 server = conf->readEntry( "Server","" ); 193 server = conf->readEntry( "Server","" );
195 if (server.isNull()) server=""; 194 if (server.isNull()) server="";
196 port = conf->readEntry( "Port","" ); 195 port = conf->readEntry( "Port","" );
197 if (port.isNull()) port="143"; 196 if (port.isNull()) port="143";
198 connectionType = conf->readNumEntry( "ConnectionType" ); 197 connectionType = conf->readNumEntry( "ConnectionType" );
199 ssl = conf->readBoolEntry( "SSL",false ); 198 ssl = conf->readBoolEntry( "SSL",false );
200 user = conf->readEntry( "User","" ); 199 user = conf->readEntry( "User","" );
201 if (user.isNull()) user = ""; 200 if (user.isNull()) user = "";
202 //password = conf->readEntryCrypt( "Password","" ); 201 //password = conf->readEntryCrypt( "Password","" );
203 setPasswordList( conf->readListEntry( "FolderHistory")); 202 setPasswordList( conf->readListEntry( "FolderHistory"));
204 if (password.isNull()) password = ""; 203 if (password.isNull()) password = "";
205 prefix = conf->readEntry("MailPrefix",""); 204 prefix = conf->readEntry("MailPrefix","");
206 if (prefix.isNull()) prefix = ""; 205 if (prefix.isNull()) prefix = "";
207 offline = conf->readBoolEntry("Offline",false); 206 offline = conf->readBoolEntry("Offline",false);
208 localFolder = conf->readEntry( "LocalFolder" ); 207 localFolder = conf->readEntry( "LocalFolder" );
209 maxMailSize = conf->readNumEntry( "MaxSize",0 ); 208 maxMailSize = conf->readNumEntry( "MaxSize",0 );
210 int lf = conf->readNumEntry( "LastFetch",0 ); 209 int lf = conf->readNumEntry( "LastFetch",0 );
211 QDateTime dt ( QDate ( 2004, 1, 1 ), QTime( 0,0,0) ); 210 QDateTime dt ( QDate ( 2004, 1, 1 ), QTime( 0,0,0) );
212 leaveOnServer = conf->readBoolEntry("LeaveOnServer",false); 211 leaveOnServer = conf->readBoolEntry("LeaveOnServer",false);
213 qDebug("reading last fetch: %d ", lf);
214 if ( lf < 0 ) lf = 0; 212 if ( lf < 0 ) lf = 0;
215 lastFetch = dt.addSecs( lf ); 213 lastFetch = dt.addSecs( lf );
216 delete conf; 214 delete conf;
217} 215}
218 216
219void IMAPaccount::save() 217void IMAPaccount::save()
220{ 218{
221 qDebug("saving %s ",getFileName().latin1() ); 219
222 Settings::checkDirectory(); 220 Settings::checkDirectory();
223 221
224 KConfig *conf = new KConfig( getFileName() ); 222 KConfig *conf = new KConfig( getFileName() );
225 conf->setGroup( "IMAP Account" ); 223 conf->setGroup( "IMAP Account" );
226 conf->writeEntry( "Account", accountName ); 224 conf->writeEntry( "Account", accountName );
227 conf->writeEntry( "Server", server ); 225 conf->writeEntry( "Server", server );
228 conf->writeEntry( "Port", port ); 226 conf->writeEntry( "Port", port );
229 conf->writeEntry( "SSL", ssl ); 227 conf->writeEntry( "SSL", ssl );
230 conf->writeEntry( "ConnectionType", connectionType ); 228 conf->writeEntry( "ConnectionType", connectionType );
231 conf->writeEntry( "User", user ); 229 conf->writeEntry( "User", user );
232 //conf->writeEntryCrypt( "Password", password ); 230 //conf->writeEntryCrypt( "Password", password );
233 conf->writeEntry( "FolderHistory",getPasswordList() ); 231 conf->writeEntry( "FolderHistory",getPasswordList() );
234 conf->writeEntry( "MailPrefix",prefix); 232 conf->writeEntry( "MailPrefix",prefix);
235 conf->writeEntry( "Offline",offline); 233 conf->writeEntry( "Offline",offline);
236 conf->writeEntry( "LocalFolder", localFolder ); 234 conf->writeEntry( "LocalFolder", localFolder );
237 conf->writeEntry( "MaxSize", maxMailSize ); 235 conf->writeEntry( "MaxSize", maxMailSize );
238 QDateTime dt ( QDate ( 2004, 1, 1 ), QTime( 0,0,0) ); 236 QDateTime dt ( QDate ( 2004, 1, 1 ), QTime( 0,0,0) );
239 int lf = dt.secsTo ( lastFetch ); 237 int lf = dt.secsTo ( lastFetch );
240 conf->writeEntry( "LastFetch", lf ); 238 conf->writeEntry( "LastFetch", lf );
241 conf->writeEntry( "LeaveOnServer", leaveOnServer); 239 conf->writeEntry( "LeaveOnServer", leaveOnServer);
242 conf->sync(); 240 conf->sync();
243 delete conf; 241 delete conf;
244} 242}
245 243
246 244
247QString IMAPaccount::getFileName() 245QString IMAPaccount::getFileName()
248{ 246{
249 return locateLocal("data", "kopiemail" ) +"/imap-" + file; 247 return locateLocal("data", "kopiemail" ) +"/imap-" + file;
250} 248}
251 249
252POP3account::POP3account() 250POP3account::POP3account()
253 : Account() 251 : Account()
254{ 252{
255 file = POP3account::getUniqueFileName(); 253 file = POP3account::getUniqueFileName();
256 accountName = "New POP3 Account"; 254 accountName = "New POP3 Account";
257 ssl = false; 255 ssl = false;
258 connectionType = 1; 256 connectionType = 1;
259 type = MAILLIB::A_POP3; 257 type = MAILLIB::A_POP3;
260 port = POP3_PORT; 258 port = POP3_PORT;
261} 259}
262 260
263POP3account::POP3account( QString filename ) 261POP3account::POP3account( QString filename )
264 : Account() 262 : Account()
265{ 263{
266 file = filename; 264 file = filename;
267 accountName = "New POP3 Account"; 265 accountName = "New POP3 Account";
268 ssl = false; 266 ssl = false;
269 connectionType = 1; 267 connectionType = 1;