-rw-r--r-- | kmicromail/editaccounts.cpp | 15 | ||||
-rw-r--r-- | kmicromail/libmailwrapper/settings.cpp | 83 | ||||
-rw-r--r-- | kmicromail/libmailwrapper/settings.h | 3 |
3 files changed, 78 insertions, 23 deletions
diff --git a/kmicromail/editaccounts.cpp b/kmicromail/editaccounts.cpp index e7d2750..d43d23b 100644 --- a/kmicromail/editaccounts.cpp +++ b/kmicromail/editaccounts.cpp @@ -360,8 +360,18 @@ void IMAPconfig::fillValues() ComboBox1->setCurrentItem( data->ConnectionType() ); userLine->setText( data->getUser() ); passLine->setText( data->getPassword() ); prefixLine->setText(data->getPrefix()); + localFolder->setText( data->getLocalFolder() ); + int max = data->getMaxMailSize() ; + if ( max ) { + CheckBoxDown->setChecked( true ); + SpinBoxDown->setValue ( max ); + } else { + CheckBoxDown->setChecked( false ); + SpinBoxDown->setValue ( 5 ); + } + CheckBoxLeaveOn->setChecked( data->getLeaveOnServer() ); } void IMAPconfig::accept() { @@ -371,8 +381,11 @@ void IMAPconfig::accept() data->setConnectionType( ComboBox1->currentItem() ); data->setUser( userLine->text() ); data->setPassword( passLine->text() ); data->setPrefix(prefixLine->text()); + data->setLocalFolder( localFolder->text() ); + data->setMaxMailSize( CheckBoxDown->isChecked()?SpinBoxDown->value():0 ) ; + data->setLeaveOnServer( CheckBoxLeaveOn->isChecked() ); QDialog::accept(); } @@ -429,8 +442,9 @@ void POP3config::fillValues() } else { CheckBoxDown->setChecked( false ); SpinBoxDown->setValue ( 5 ); } + CheckBoxLeaveOn->setChecked( data->getLeaveOnServer() ); } void POP3config::accept() { @@ -441,8 +455,9 @@ void POP3config::accept() data->setUser( userLine->text() ); data->setPassword( passLine->text() ); data->setLocalFolder( localFolder->text() ); data->setMaxMailSize( CheckBoxDown->isChecked()?SpinBoxDown->value():0 ) ; + data->setLeaveOnServer( CheckBoxLeaveOn->isChecked() ); QDialog::accept(); } diff --git a/kmicromail/libmailwrapper/settings.cpp b/kmicromail/libmailwrapper/settings.cpp index f996d9c..766eba0 100644 --- a/kmicromail/libmailwrapper/settings.cpp +++ b/kmicromail/libmailwrapper/settings.cpp @@ -1,9 +1,9 @@ #include <stdlib.h> #include <qdir.h> //#include <opie2/odebug.h> -#include <qpe/config.h> +#include <kconfig.h> #include <kstandarddirs.h> #include "settings.h" //#include "defines.h" @@ -112,16 +112,43 @@ Account::Account() type = MAILLIB::A_UNDEFINED; ssl = false; connectionType = 1; offline = false; + maxMailSize = 0; + lastFetch; + leaveOnServer = false; } void Account::remove() { QFile file( getFileName() ); file.remove(); } +void Account::setPasswordList(const QStringList &str) +{ + password = ""; + int i; + for ( i = 0; i < str.count() ; ++i ) { + QChar c ( (str[i].toUInt()-131)/(str.count()- (i%3))); + password.append( c ); + } + //qDebug("password %s ", password.latin1()); +} +QStringList Account::getPasswordList() +{ + int i; + int len = password.length(); + QStringList str; + + for ( i = 0; i < len ; ++i ) { + int val = password.at(i).unicode()*(len-(i%3))+131; + str.append( QString::number( val ) ); + // qDebug("append %s ", str[i].latin1()); + } + return str; +} + IMAPaccount::IMAPaccount() : Account() { file = IMAPaccount::getUniqueFileName(); @@ -159,9 +186,9 @@ QString IMAPaccount::getUniqueFileName() } void IMAPaccount::read() { - Config *conf = new Config( getFileName(), Config::File ); + KConfig *conf = new KConfig( getFileName() ); conf->setGroup( "IMAP Account" ); accountName = conf->readEntry( "Account","" ); if (accountName.isNull()) accountName = ""; server = conf->readEntry( "Server","" ); @@ -171,9 +198,10 @@ void IMAPaccount::read() connectionType = conf->readNumEntry( "ConnectionType" ); ssl = conf->readBoolEntry( "SSL",false ); user = conf->readEntry( "User","" ); if (user.isNull()) user = ""; - password = conf->readEntryCrypt( "Password","" ); + //password = conf->readEntryCrypt( "Password","" ); + setPasswordList( conf->readListEntry( "FolderHistory")); if (password.isNull()) password = ""; prefix = conf->readEntry("MailPrefix",""); if (prefix.isNull()) prefix = ""; offline = conf->readBoolEntry("Offline",false); @@ -181,8 +209,10 @@ void IMAPaccount::read() maxMailSize = conf->readNumEntry( "MaxSize",0 ); int lf = conf->readNumEntry( "LastFetch",0 ); QDateTime dt ( QDate ( 2004, 1, 1 ), QTime( 0,0,0) ); leaveOnServer = conf->readBoolEntry("LeaveOnServer",false); + qDebug("reading last fetch: %d ", lf); + if ( lf < 0 ) lf = 0; lastFetch = dt.addSecs( lf ); delete conf; } @@ -190,26 +220,27 @@ void IMAPaccount::save() { qDebug("saving %s ",getFileName().latin1() ); Settings::checkDirectory(); - Config *conf = new Config( getFileName(), Config::File ); + KConfig *conf = new KConfig( getFileName() ); conf->setGroup( "IMAP Account" ); conf->writeEntry( "Account", accountName ); conf->writeEntry( "Server", server ); conf->writeEntry( "Port", port ); conf->writeEntry( "SSL", ssl ); conf->writeEntry( "ConnectionType", connectionType ); conf->writeEntry( "User", user ); - conf->writeEntryCrypt( "Password", password ); + //conf->writeEntryCrypt( "Password", password ); + conf->writeEntry( "FolderHistory",getPasswordList() ); conf->writeEntry( "MailPrefix",prefix); conf->writeEntry( "Offline",offline); conf->writeEntry( "LocalFolder", localFolder ); conf->writeEntry( "MaxSize", maxMailSize ); QDateTime dt ( QDate ( 2004, 1, 1 ), QTime( 0,0,0) ); int lf = dt.secsTo ( lastFetch ); conf->writeEntry( "LastFetch", lf ); conf->writeEntry( "LeaveOnServer", leaveOnServer); - conf->write(); + conf->sync(); delete conf; } @@ -256,17 +287,18 @@ QString POP3account::getUniqueFileName() } void POP3account::read() { - Config *conf = new Config( getFileName(), Config::File ); + KConfig *conf = new KConfig( getFileName()); conf->setGroup( "POP3 Account" ); accountName = conf->readEntry( "Account" ); server = conf->readEntry( "Server" ); port = conf->readEntry( "Port" ); ssl = conf->readBoolEntry( "SSL" ); connectionType = conf->readNumEntry( "ConnectionType" ); user = conf->readEntry( "User" ); - password = conf->readEntryCrypt( "Password" ); + //password = conf->readEntryCrypt( "Password" ); + setPasswordList( conf->readListEntry( "FolderHistory")); offline = conf->readBoolEntry("Offline",false); localFolder = conf->readEntry( "LocalFolder" ); maxMailSize = conf->readNumEntry( "MaxSize",0 ); int lf = conf->readNumEntry( "LastFetch",0 ); @@ -279,25 +311,26 @@ void POP3account::read() void POP3account::save() { Settings::checkDirectory(); - Config *conf = new Config( getFileName(), Config::File ); + KConfig *conf = new KConfig( getFileName() ); conf->setGroup( "POP3 Account" ); conf->writeEntry( "Account", accountName ); conf->writeEntry( "Server", server ); conf->writeEntry( "Port", port ); conf->writeEntry( "SSL", ssl ); conf->writeEntry( "ConnectionType", connectionType ); conf->writeEntry( "User", user ); - conf->writeEntryCrypt( "Password", password ); + //conf->writeEntryCrypt( "Password", password ); + conf->writeEntry( "FolderHistory",getPasswordList() ); conf->writeEntry( "Offline",offline); conf->writeEntry( "LocalFolder", localFolder ); conf->writeEntry( "MaxSize", maxMailSize ); QDateTime dt ( QDate ( 2004, 1, 1 ), QTime( 0,0,0) ); int lf = dt.secsTo ( lastFetch ); conf->writeEntry( "LastFetch", lf ); conf->writeEntry( "LeaveOnServer", leaveOnServer); - conf->write(); + conf->sync(); delete conf; } @@ -349,36 +382,38 @@ QString SMTPaccount::getUniqueFileName() } void SMTPaccount::read() { - Config *conf = new Config( getFileName(), Config::File ); + KConfig *conf = new KConfig( getFileName() ); conf->setGroup( "SMTP Account" ); accountName = conf->readEntry( "Account" ); server = conf->readEntry( "Server" ); port = conf->readEntry( "Port" ); ssl = conf->readBoolEntry( "SSL" ); connectionType = conf->readNumEntry( "ConnectionType" ); login = conf->readBoolEntry( "Login" ); user = conf->readEntry( "User" ); - password = conf->readEntryCrypt( "Password" ); + //password = conf->readEntryCrypt( "Password" ); + setPasswordList( conf->readListEntry( "FolderHistory")); delete conf; } void SMTPaccount::save() { Settings::checkDirectory(); - Config *conf = new Config( getFileName(), Config::File ); + KConfig *conf = new KConfig( getFileName() ); conf->setGroup( "SMTP Account" ); conf->writeEntry( "Account", accountName ); conf->writeEntry( "Server", server ); conf->writeEntry( "Port", port ); conf->writeEntry( "SSL", ssl ); conf->writeEntry( "ConnectionType", connectionType ); conf->writeEntry( "Login", login ); conf->writeEntry( "User", user ); - conf->writeEntryCrypt( "Password", password ); - conf->write(); + //conf->writeEntryCrypt( "Password", password ); + conf->writeEntry( "FolderHistory",getPasswordList() ); + conf->sync(); delete conf; } @@ -425,36 +460,38 @@ QString NNTPaccount::getUniqueFileName() } void NNTPaccount::read() { - Config *conf = new Config( getFileName(), Config::File ); + KConfig *conf = new KConfig( getFileName() ); conf->setGroup( "NNTP Account" ); accountName = conf->readEntry( "Account" ); server = conf->readEntry( "Server" ); port = conf->readEntry( "Port" ); ssl = conf->readBoolEntry( "SSL" ); login = conf->readBoolEntry( "Login" ); user = conf->readEntry( "User" ); - password = conf->readEntryCrypt( "Password" ); - subscribedGroups = conf->readListEntry( "Subscribed", ',' ); + //password = conf->readEntryCrypt( "Password" ); + setPasswordList( conf->readListEntry( "FolderHistory")); + subscribedGroups = conf->readListEntry( "Subscribed"); delete conf; } void NNTPaccount::save() { Settings::checkDirectory(); - Config *conf = new Config( getFileName(), Config::File ); + KConfig *conf = new KConfig( getFileName() ); conf->setGroup( "NNTP Account" ); conf->writeEntry( "Account", accountName ); conf->writeEntry( "Server", server ); conf->writeEntry( "Port", port ); conf->writeEntry( "SSL", ssl ); conf->writeEntry( "Login", login ); conf->writeEntry( "User", user ); - conf->writeEntryCrypt( "Password", password ); - conf->writeEntry( "Subscribed" , subscribedGroups, ',' ); - conf->write(); + //conf->writeEntryCrypt( "Password", password ); + conf->writeEntry( "FolderHistory",getPasswordList() ); + conf->writeEntry( "Subscribed" , subscribedGroups ); + conf->sync(); delete conf; } diff --git a/kmicromail/libmailwrapper/settings.h b/kmicromail/libmailwrapper/settings.h index 85b817c..61051dd 100644 --- a/kmicromail/libmailwrapper/settings.h +++ b/kmicromail/libmailwrapper/settings.h @@ -36,8 +36,11 @@ public: void setPassword(const QString&str) { password = str; } const QString&getPassword()const { return password; } + void setPasswordList(const QStringList &str); + QStringList getPasswordList(); + void setSSL( bool b ) { ssl = b; } bool getSSL() { return ssl; } void setConnectionType( int x ) { connectionType = x; } |