Optionally show only the subscribed IMAP folders.

Well, the most difficult thing was actually the check box for that :-)
Nevertheless, we still need also a dialog for subscribing and unsubscribing.

svn path=/trunk/kdenetwork/kmail/; revision=114565
wilder-work
Michael Haeckel 25 years ago
parent b7a89c2a3f
commit 4ae477f293
  1. 20
      accountdialog.cpp
  2. 1
      accountdialog.h
  3. 11
      kmacctimap.cpp
  4. 7
      kmacctimap.h
  5. 2
      kmfolderimap.cpp

@ -608,9 +608,9 @@ void AccountDialog::makeImapAccountPage()
QWidget *page1 = new QWidget( tabWidget );
tabWidget->addTab( page1, i18n("&General") );
QGridLayout *grid = new QGridLayout( page1, 10, 2, spacingHint() );
QGridLayout *grid = new QGridLayout( page1, 11, 2, spacingHint() );
grid->addColSpacing( 1, fontMetrics().maxWidth()*15 );
grid->setRowStretch( 9, 10 );
grid->setRowStretch( 10, 10 );
grid->setColStretch( 1, 10 );
QLabel *label = new QLabel( i18n("&Name:"), page1 );
@ -651,16 +651,20 @@ void AccountDialog::makeImapAccountPage()
label->setBuddy( mImap.prefixEdit );
grid->addWidget( mImap.prefixEdit, 5, 1 );
mImap.storePasswordCheck =
new QCheckBox( i18n("Sto&re IMAP password in configuration file"), page1 );
grid->addMultiCellWidget( mImap.storePasswordCheck, 6, 6, 0, 1 );
mImap.autoExpungeCheck =
new QCheckBox( i18n("&Automatically expunge deleted messages"), page1);
grid->addMultiCellWidget( mImap.autoExpungeCheck, 6, 6, 0, 1 );
grid->addMultiCellWidget( mImap.autoExpungeCheck, 7, 7, 0, 1 );
mImap.hiddenFoldersCheck = new QCheckBox( i18n("&Show hidden folders"), page1);
grid->addMultiCellWidget( mImap.hiddenFoldersCheck, 7, 7, 0, 1 );
grid->addMultiCellWidget( mImap.hiddenFoldersCheck, 8, 8, 0, 1 );
mImap.storePasswordCheck =
new QCheckBox( i18n("Sto&re IMAP password in configuration file"), page1 );
grid->addMultiCellWidget( mImap.storePasswordCheck, 8, 8, 0, 1 );
mImap.subscribedFoldersCheck = new QCheckBox(
i18n("Show &only subscribed folders"), page1);
grid->addMultiCellWidget( mImap.subscribedFoldersCheck, 9, 9, 0, 1 );
QWidget *page2 = new QWidget( tabWidget );
tabWidget->addTab( page2, i18n("S&ecurity") );
@ -790,6 +794,7 @@ void AccountDialog::setupSettings()
mImap.prefixEdit->setText( ai.prefix() );
mImap.autoExpungeCheck->setChecked( ai.autoExpunge() );
mImap.hiddenFoldersCheck->setChecked( ai.hiddenFolders() );
mImap.subscribedFoldersCheck->setChecked( ai.onlySubscribedFolders() );
mImap.storePasswordCheck->setChecked( ai.storePasswd() );
if (ai.useSSL())
mImap.encryptionSSL->setChecked( TRUE );
@ -1046,6 +1051,7 @@ void AccountDialog::saveSettings()
epa.setLogin( mImap.loginEdit->text().stripWhiteSpace() );
epa.setAutoExpunge( mImap.autoExpungeCheck->isChecked() );
epa.setHiddenFolders( mImap.hiddenFoldersCheck->isChecked() );
epa.setOnlySubscribedFolders( mImap.subscribedFoldersCheck->isChecked() );
epa.setStorePasswd( mImap.storePasswordCheck->isChecked() );
epa.setPasswd( mImap.passwordEdit->text(), epa.storePasswd() );
epa.setUseSSL( mImap.encryptionSSL->isChecked() );

@ -120,6 +120,7 @@ class AccountDialog : public KDialogBase
QLineEdit *prefixEdit;
QCheckBox *autoExpungeCheck;
QCheckBox *hiddenFoldersCheck;
QCheckBox *subscribedFoldersCheck;
QCheckBox *storePasswordCheck;
QButtonGroup *encryptionGroup;
QRadioButton *encryptionNone;

@ -106,6 +106,7 @@ void KMAcctImap::init(void)
mPrefix = "/";
mAutoExpunge = TRUE;
mHiddenFolders = FALSE;
mOnlySubscribedFolders = FALSE;
mUseSSL = FALSE;
mUseTLS = FALSE;
mIdle = TRUE;
@ -131,6 +132,7 @@ void KMAcctImap::pseudoAssign(KMAccount* account)
setAuth(acct->auth());
setAutoExpunge(acct->autoExpunge());
setHiddenFolders(acct->hiddenFolders());
setOnlySubscribedFolders(acct->onlySubscribedFolders());
setStorePasswd(acct->storePasswd());
setPasswd(acct->passwd(), acct->storePasswd());
setUseSSL(acct->useSSL());
@ -153,6 +155,7 @@ void KMAcctImap::readConfig(KConfig& config)
if (mFolder) mFolder->setImapPath(mPrefix);
mAutoExpunge = config.readBoolEntry("auto-expunge", TRUE);
mHiddenFolders = config.readBoolEntry("hidden-folders", FALSE);
mOnlySubscribedFolders = config.readBoolEntry("subscribed-folders", FALSE);
mUseSSL = config.readBoolEntry("use-ssl", FALSE);
mUseTLS = config.readBoolEntry("use-tls", FALSE);
}
@ -174,6 +177,7 @@ void KMAcctImap::writeConfig(KConfig& config)
config.writeEntry("prefix", mPrefix);
config.writeEntry("auto-expunge", mAutoExpunge);
config.writeEntry("hidden-folders", mHiddenFolders);
config.writeEntry("subscribed-folders", mOnlySubscribedFolders);
config.writeEntry("use-ssl", mUseSSL);
config.writeEntry("use-tls", mUseTLS);
}
@ -306,6 +310,13 @@ void KMAcctImap::setHiddenFolders(bool aHiddenFolders)
}
//-----------------------------------------------------------------------------
void KMAcctImap::setOnlySubscribedFolders(bool aOnlySubscribedFolders)
{
mOnlySubscribedFolders = aOnlySubscribedFolders;
}
//-----------------------------------------------------------------------------
void KMAcctImap::setAuth(const QString& aAuth)
{

@ -104,6 +104,12 @@ public:
bool hiddenFolders() { return mHiddenFolders; }
virtual void setHiddenFolders(bool);
/**
* Show only subscribed folders
*/
bool onlySubscribedFolders() { return mOnlySubscribedFolders; }
virtual void setOnlySubscribedFolders(bool);
/**
* Use SSL or not
*/
@ -209,6 +215,7 @@ protected:
bool mUseSSL;
bool mUseTLS;
bool mHiddenFolders;
bool mOnlySubscribedFolders;
bool mProgressEnabled;
int mTotal;
bool mIdle;

@ -219,7 +219,7 @@ void KMFolderImap::listDirectory(KMFolderTreeItem * fti, bool secondStep)
&& imapPath() == mAccount->prefix();
KURL url = mAccount->getUrl();
url.setPath(((jd.inboxOnly) ? QString("/") : imapPath())
+ ";TYPE=LIST");
+ ";TYPE=" + ((mAccount->onlySubscribedFolders()) ? "LSUB" : "LIST"));
if (!mAccount->makeConnection())
{
if (fti) fti->setOpen( FALSE );

Loading…
Cancel
Save