Patch from Michael Haeckel <Michael@Haeckel.Net>

"The attached patch makes the following changes to the pop account(s):
- old pop account removed (kmacctpop.h and kmacctpop.cpp can be deleted)
- advanced pop account now is called pop
- Retrieve all mail from server is by default off for pop account
- all advanced and experimental pop accounts are converted to pop on startup"

Yeehaa!

svn path=/trunk/kdenetwork/kmail/; revision=65047
wilder-work
Don Sanders 26 years ago
parent 78338b1edf
commit ac41c00f7a
  1. 2
      Makefile.am
  2. 65
      accountdialog.cpp
  3. 4
      configuredialog.cpp
  4. 8
      kmacctexppop.cpp
  5. 10
      kmacctmgr.cpp
  6. 7
      kmacctseldlg.cpp
  7. 2
      kmacctseldlg.h
  8. 35
      kmsettings.cpp

@ -14,7 +14,7 @@ kmail_SOURCES = kmmessage.cpp kmmainwin.cpp \
kmreaderwin.cpp kbusyptr.cpp \
kalarmtimer.cpp kmmsgpart.cpp kmmsginfo.cpp \
kmacctmgr.cpp kmacctfolder.cpp \
kmacctlocal.cpp kmacctpop.cpp kmfolderdir.cpp \
kmacctlocal.cpp kmfolderdir.cpp \
kmfoldermgr.cpp kmfoldernode.cpp kmsender.cpp \
kmacctseldlg.cpp kmfiltermgr.cpp \
kmfilteraction.cpp kmidentity.cpp \

@ -38,7 +38,6 @@
#include "accountdialog.h"
#include "kmacctlocal.h"
#include "kmacctmgr.h"
#include "kmacctpop.h"
#include "kmacctexppop.h"
#include "kmfolder.h"
#include "kmfoldermgr.h"
@ -58,7 +57,7 @@ AccountDialog::AccountDialog( KMAccount *account, const QStringList &identity,
{
makeLocalAccountPage();
}
else if( accountType == "pop" || accountType == "advanced pop" )
else if( accountType == "pop" )
{
makePopAccountPage();
}
@ -274,28 +273,6 @@ void AccountDialog::setupSettings()
// mLocal.identityCombo->insertStringList( mIdentityList );
}
else if( accountType == "pop" )
{
KMAcctPop &ap = *(KMAcctPop*)mAccount;
mPop.nameEdit->setText( mAccount->name() );
mPop.loginEdit->setText( ap.login() );
mPop.passwordEdit->setText( ap.passwd());
mPop.hostEdit->setText( ap.host() );
mPop.portEdit->setText( QString("%1").arg( ap.port() ) );
mPop.useSSLCheck->setChecked( ap.useSSL() );
mPop.storePasswordCheck->setChecked( ap.storePasswd() );
mPop.deleteMailCheck->setChecked( !ap.leaveOnServer() );
mPop.retriveAllCheck->setChecked( ap.retrieveAll() );
mPop.intervalCheck->setChecked( interval >= 1 );
mPop.intervalSpin->setValue( QMAX(1, interval) );
mPop.excludeCheck->setChecked( mAccount->checkExclude() );
mPop.precommand->setText( ap.precommand() );
slotEnablePopInterval( interval >= 1 );
folderCombo = mPop.folderCombo;
// mPop.identityCombo->insertStringList( mIdentityList );
}
else if(( accountType == "advanced pop" ) ||
( accountType == "experimental pop" ))
{
KMAcctExpPop &ap = *(KMAcctExpPop*)mAccount;
mPop.nameEdit->setText( mAccount->name() );
@ -404,7 +381,7 @@ void AccountDialog::saveSettings()
mAccount->setFolder( folder );
}
else if( accountType == "pop" || accountType == "advanced pop" )
else if( accountType == "pop" )
{
mAccount->setName( mPop.nameEdit->text() );
mAccount->setCheckInterval( mPop.intervalCheck->isChecked() ?
@ -415,34 +392,18 @@ void AccountDialog::saveSettings()
= kernel->folderMgr()->find( mPop.folderCombo->currentText() );
mAccount->setFolder( folder );
if( accountType == "pop" )
{
KMAcctPop &pa = *(KMAcctPop*)mAccount;
pa.setHost( mPop.hostEdit->text() );
pa.setPort( mPop.portEdit->text().toInt() );
pa.setLogin( mPop.loginEdit->text() );
pa.setPasswd( mPop.passwordEdit->text(), true );
pa.setStorePasswd( mPop.storePasswordCheck->isChecked() );
pa.setPasswd( mPop.passwordEdit->text(), pa.storePasswd() );
pa.setLeaveOnServer( !mPop.deleteMailCheck->isChecked() );
pa.setRetrieveAll( mPop.retriveAllCheck->isChecked() );
pa.setPrecommand( mPop.precommand->text() );
}
else
{
KMAcctExpPop &epa = *(KMAcctExpPop*)mAccount;
epa.setHost( mPop.hostEdit->text() );
epa.setPort( mPop.portEdit->text().toInt() );
epa.setLogin( mPop.loginEdit->text() );
epa.setPasswd( mPop.passwordEdit->text(), true );
epa.setUseSSL( mPop.useSSLCheck->isChecked() );
epa.setStorePasswd( mPop.storePasswordCheck->isChecked() );
epa.setPasswd( mPop.passwordEdit->text(), epa.storePasswd() );
epa.setLeaveOnServer( !mPop.deleteMailCheck->isChecked() );
epa.setRetrieveAll( mPop.retriveAllCheck->isChecked() );
epa.setPrecommand( mPop.precommand->text() );
KMAcctExpPop &epa = *(KMAcctExpPop*)mAccount;
epa.setHost( mPop.hostEdit->text() );
epa.setPort( mPop.portEdit->text().toInt() );
epa.setLogin( mPop.loginEdit->text() );
epa.setPasswd( mPop.passwordEdit->text(), true );
epa.setUseSSL( mPop.useSSLCheck->isChecked() );
epa.setStorePasswd( mPop.storePasswordCheck->isChecked() );
epa.setPasswd( mPop.passwordEdit->text(), epa.storePasswd() );
epa.setLeaveOnServer( !mPop.deleteMailCheck->isChecked() );
epa.setRetrieveAll( mPop.retriveAllCheck->isChecked() );
epa.setPrecommand( mPop.precommand->text() );
}
}
kernel->acctMgr()->writeConfig(TRUE);
}

@ -2808,10 +2808,6 @@ void ConfigureDialog::slotAddAccount( void )
accountType = "pop";
break;
case 2:
accountType = "experimental pop";
break;
default:
KMessageBox::sorry( this, i18n("Unknown account type selected") );
return;

@ -45,7 +45,7 @@ KMAcctExpPop::KMAcctExpPop(KMAcctMgr* aOwner, const char* aAccountName):
mUseSSL = FALSE;
mStorePasswd = FALSE;
mLeaveOnServer = FALSE;
mRetrieveAll = TRUE;
mRetrieveAll = FALSE;
mProtocol = 3;
struct servent *serv = getservbyname("pop-3", "tcp");
if (serv) {
@ -80,7 +80,7 @@ KMAcctExpPop::~KMAcctExpPop()
//-----------------------------------------------------------------------------
const char* KMAcctExpPop::type(void) const
{
return "advanced pop";
return "pop";
}
@ -100,13 +100,13 @@ void KMAcctExpPop::init(void)
mUseSSL = FALSE;
mStorePasswd = FALSE;
mLeaveOnServer = FALSE;
mRetrieveAll = TRUE;
mRetrieveAll = FALSE;
}
//-----------------------------------------------------------------------------
void KMAcctExpPop::pseudoAssign(KMAccount* account)
{
assert(account->type() == "advanced pop");
assert(account->type() == "pop");
KMAcctExpPop *acct = static_cast<KMAcctExpPop*>(account);
setName(acct->name());
setCheckInterval(acct->checkInterval());

@ -2,7 +2,6 @@
#include "kmacctmgr.h"
#include "kmacctlocal.h"
#include "kmacctpop.h"
#include "kmacctexppop.h"
#include "kmglobal.h"
#include "kbusyptr.h"
@ -98,6 +97,9 @@ void KMAcctMgr::readConfig(void)
groupName.sprintf("Account %d", i);
config->setGroup(groupName);
acctType = config->readEntry("Type");
// Provide backwards compatibility
if (acctType == "advanced pop" || acctType == "experimental pop")
acctType = "pop";
acctName = config->readEntry("Name");
acct = create(acctType, acctName);
if (!acct) continue;
@ -151,12 +153,6 @@ KMAccount* KMAcctMgr::create(const QString aType, const QString aName)
act = new KMAcctLocal(this, aName);
else if (stricmp(aType,"pop")==0)
act = new KMAcctPop(this, aName);
else if (stricmp(aType,"experimental pop")==0)
act = new KMAcctExpPop(this, aName);
else if (stricmp(aType,"advanced pop")==0)
act = new KMAcctExpPop(this, aName);
if (act)

@ -46,14 +46,11 @@ KMAcctSelDlg::KMAcctSelDlg( QWidget *parent, const char *name, bool modal )
vlay->addWidget( radioButton1 );
QRadioButton *radioButton2 = new QRadioButton(i18n("Pop3"), group );
vlay->addWidget( radioButton2 );
QRadioButton *radioButton3 =
new QRadioButton(i18n("Advanced Pop3"), group );
vlay->addWidget( radioButton3 );
vlay->addStretch( 10 );
radioButton3->setChecked(true); // Advanced Pop is most common ?
buttonClicked(2);
radioButton2->setChecked(true); // Pop is most common ?
buttonClicked(1);
}

@ -36,7 +36,7 @@ class KMAcctSelDlg: public KDialogBase
/**
* Returns selected button from the account selection group:
* 0=local mail, 1=pop3, 2=experimental pop3.
* 0=local mail, 1=pop3.
*/
int selected(void) const;

@ -5,7 +5,6 @@
#include "kmacctlocal.h"
#include "kmacctmgr.h"
#include "kmacctpop.h"
#include "kmacctexppop.h"
#include "kmacctseldlg.h"
#include "kmfolder.h"
@ -1169,9 +1168,6 @@ void KMSettings::addAccount()
case 1:
acctType = "pop";
break;
case 2:
acctType = "experimental pop";
break;
default:
fatal("KMSettings: unsupported account type selected");
}
@ -1483,24 +1479,22 @@ KMAccountSettings::KMAccountSettings(QWidget *parent, const char *name,
connect(btnDetail,SIGNAL(clicked()), SLOT(chooseLocation()));
}
else if ((acctType == "pop") || (acctType == "experimental pop"))
else if (acctType == "pop")
{
lbl->setText(i18n("Pop Account"));
if (acctType == "experimental pop")
lbl->setText(i18n("Experimental Pop Account"));
mEdtLogin = createLabeledEntry(this, grid, i18n("Login:"),
((KMAcctPop*)mAcct)->login(), 2, 0);
((KMAcctExpPop*)mAcct)->login(), 2, 0);
mEdtPasswd = createLabeledEntry(this, grid, i18n("Password:"),
((KMAcctPop*)mAcct)->passwd(), 3, 0);
((KMAcctExpPop*)mAcct)->passwd(), 3, 0);
mEdtPasswd->setEchoMode(QLineEdit::Password);
mEdtHost = createLabeledEntry(this, grid, i18n("Host:"),
((KMAcctPop*)mAcct)->host(), 4, 0);
((KMAcctExpPop*)mAcct)->host(), 4, 0);
QString tmpStr;
tmpStr.sprintf("%u",((KMAcctPop*)mAcct)->port());
tmpStr.sprintf("%u",((KMAcctExpPop*)mAcct)->port());
mEdtPort = createLabeledEntry(this, grid, i18n("Port:"),
tmpStr, 5, 0);
tmpStr.sprintf("%u", ((KMAccount*)mAcct)->checkInterval());
@ -1516,17 +1510,17 @@ KMAccountSettings::KMAccountSettings(QWidget *parent, const char *name,
mStorePasswd = new QCheckBox(i18n("Store POP password in config file"), this);
mStorePasswd->setMinimumSize(mStorePasswd->sizeHint());
mStorePasswd->setChecked(((KMAcctPop*)mAcct)->storePasswd());
mStorePasswd->setChecked(((KMAcctExpPop*)mAcct)->storePasswd());
grid->addMultiCellWidget(mStorePasswd, 7, 7, 1, 2);
mChkDelete = new QCheckBox(i18n("Delete mail from server"), this);
mChkDelete->setMinimumSize(mChkDelete->sizeHint());
mChkDelete->setChecked(!((KMAcctPop*)mAcct)->leaveOnServer());
mChkDelete->setChecked(!((KMAcctExpPop*)mAcct)->leaveOnServer());
grid->addMultiCellWidget(mChkDelete, 8, 8, 1, 2);
mChkRetrieveAll=new QCheckBox(i18n("Retrieve all mail from server"), this);
mChkRetrieveAll->setMinimumSize(mChkRetrieveAll->sizeHint());
mChkRetrieveAll->setChecked(((KMAcctPop*)mAcct)->retrieveAll());
mChkRetrieveAll->setChecked(((KMAcctExpPop*)mAcct)->retrieveAll());
grid->addMultiCellWidget(mChkRetrieveAll, 9, 9, 1, 2);
}
@ -1666,19 +1660,6 @@ void KMAccountSettings::accept()
}
else if (acctType == "pop")
{
((KMAcctPop*)mAcct)->setHost(mEdtHost->text());
((KMAcctPop*)mAcct)->setPort(atoi(mEdtPort->text()));
((KMAcctPop*)mAcct)->setLogin(mEdtLogin->text());
((KMAcctPop*)mAcct)->setPasswd(mEdtPasswd->text(), true);
((KMAcctPop*)mAcct)->setStorePasswd(mStorePasswd->isChecked());
((KMAcctPop*)mAcct)->setPasswd(mEdtPasswd->text(),
((KMAcctPop*)mAcct)->storePasswd());
((KMAcctPop*)mAcct)->setLeaveOnServer(!mChkDelete->isChecked());
((KMAcctPop*)mAcct)->setRetrieveAll(mChkRetrieveAll->isChecked());
}
else if (acctType == "experimental pop")
{
((KMAcctExpPop*)mAcct)->setHost(mEdtHost->text());
((KMAcctExpPop*)mAcct)->setPort(atoi(mEdtPort->text()));

Loading…
Cancel
Save