diff --git a/kmfolderdialog.cpp b/kmfolderdialog.cpp index 8f28d037f..14b63f2ff 100644 --- a/kmfolderdialog.cpp +++ b/kmfolderdialog.cpp @@ -335,14 +335,16 @@ KMail::FolderDialogGeneralTab::FolderDialogGeneralTab( KMFolderDialog* dlg, mSharedSeenFlagsCheckBox( 0 ) { mIsLocalSystemFolder = mDlg->folder()->isSystemFolder(); + mIsResourceFolder = kmkernel->iCalIface().isStandardResourceFolder( mDlg->folder() ); + QLabel *label; QVBoxLayout *topLayout = new QVBoxLayout( this ); topLayout->setSpacing( KDialog::spacingHint() ); topLayout->setMargin( 0 ); - // Musn't be able to edit details for a system folder. - if ( !mIsLocalSystemFolder ) { + // Musn't be able to edit details for a non-resource, system folder. + if ( !mIsLocalSystemFolder || mIsResourceFolder ) { QHBoxLayout *hl = new QHBoxLayout(); topLayout->addItem( hl ); @@ -353,7 +355,7 @@ KMail::FolderDialogGeneralTab::FolderDialogGeneralTab( KMFolderDialog* dlg, mNameEdit = new KLineEdit( this ); if( !mDlg->folder() ) - mNameEdit->setFocus(); + mNameEdit->setFocus(); mNameEdit->setText( mDlg->folder() ? mDlg->folder()->label() : i18n("unnamed") ); if (!aName.isEmpty()) mNameEdit->setText(aName); @@ -536,7 +538,8 @@ KMail::FolderDialogGeneralTab::FolderDialogGeneralTab( KMFolderDialog* dlg, else if (whoField == "To") mShowSenderReceiverComboBox->setCurrentIndex(2); // folder contents - if ( !mIsLocalSystemFolder && kmkernel->iCalIface().isEnabled() ) { + if ( ( !mIsLocalSystemFolder || mIsResourceFolder ) && + kmkernel->iCalIface().isEnabled() ) { // Only do make this settable, if the IMAP resource is enabled // and it's not the personal folders (those must not be changed) ++row; @@ -556,7 +559,7 @@ KMail::FolderDialogGeneralTab::FolderDialogGeneralTab( KMFolderDialog* dlg, mContentsComboBox->setCurrentIndex( mDlg->folder()->storage()->contentsType() ); connect ( mContentsComboBox, SIGNAL ( activated( int ) ), this, SLOT( slotFolderContentsSelectionChanged( int ) ) ); - if ( mDlg->folder()->isReadOnly() ) + if ( mDlg->folder()->isReadOnly() || mIsResourceFolder ) mContentsComboBox->setEnabled( false ); } else { mContentsComboBox = 0; diff --git a/kmfolderdialog.h b/kmfolderdialog.h index e5f92b218..22edb4a96 100644 --- a/kmfolderdialog.h +++ b/kmfolderdialog.h @@ -162,6 +162,7 @@ private: KPIMIdentities::IdentityCombo *mIdentityComboBox; bool mIsLocalSystemFolder; + bool mIsResourceFolder; };