summaryrefslogtreecommitdiffstats
path: root/kmail/configuredialog.cpp
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-09-01 00:37:02 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-09-01 00:37:02 +0000
commitcc29364f06178f8f6b457384f2ec37a042bd9d43 (patch)
tree7c77a3184c698bbf9d98cef09fb1ba8124daceba /kmail/configuredialog.cpp
parent4f6c584bacc8c3c694228f36ada3de77a76614a6 (diff)
downloadtdepim-cc29364f06178f8f6b457384f2ec37a042bd9d43.tar.gz
tdepim-cc29364f06178f8f6b457384f2ec37a042bd9d43.zip
* Massive set of changes to bring in all fixes and enhancements from the Enterprise PIM branch
* Ensured that the Trinity changes were applied on top of those enhancements, and any redundancy removed * Added journal read support to the CalDAV resource * Fixed CalDAV resource to use events URL for tasks and journals when separate URL checkbox unchecked git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1170461 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kmail/configuredialog.cpp')
-rw-r--r--kmail/configuredialog.cpp181
1 files changed, 149 insertions, 32 deletions
diff --git a/kmail/configuredialog.cpp b/kmail/configuredialog.cpp
index ea0536a9..32399f81 100644
--- a/kmail/configuredialog.cpp
+++ b/kmail/configuredialog.cpp
@@ -99,6 +99,7 @@ using KMime::DateFormatter;
#include <kconfig.h>
#include <kactivelabel.h>
#include <kcmultidialog.h>
+#include <kcombobox.h>
// Qt headers:
#include <tqvalidator.h>
@@ -252,13 +253,15 @@ ConfigureDialog::~ConfigureDialog() {
}
void ConfigureDialog::slotApply() {
- GlobalSettings::self()->writeConfig();
KCMultiDialog::slotApply();
+ GlobalSettings::self()->writeConfig();
+ emit configChanged();
}
void ConfigureDialog::slotOk() {
- GlobalSettings::self()->writeConfig();
KCMultiDialog::slotOk();
+ GlobalSettings::self()->writeConfig();
+ emit configChanged();
}
void ConfigureDialog::slotUser2() {
@@ -767,7 +770,6 @@ void AccountsPage::SendingTab::slotSetDefaultTransport()
} else {
item->setText( 1, i18n( "sendmail (Default)" ));
}
-
GlobalSettings::self()->setDefaultTransport( item->text(0) );
}
@@ -901,6 +903,10 @@ void AccountsPage::SendingTab::slotRemoveSelectedTransport()
TQListViewItem *item = mTransportList->selectedItem();
if ( !item ) return;
+ bool selectedTransportWasDefault = false;
+ if ( item->text( 0 ) == GlobalSettings::self()->defaultTransport() ) {
+ selectedTransportWasDefault = true;
+ }
TQStringList changedIdents;
KPIM::IdentityManager * im = kmkernel->identityManager();
for ( KPIM::IdentityManager::Iterator it = im->modifyBegin(); it != im->modifyEnd(); ++it ) {
@@ -930,25 +936,25 @@ void AccountsPage::SendingTab::slotRemoveSelectedTransport()
KMTransportInfo ti;
- TQListViewItem *newCurrent = item->itemBelow();
- if ( !newCurrent ) newCurrent = item->itemAbove();
- //mTransportList->removeItem( item );
- if ( newCurrent ) {
- mTransportList->setCurrentItem( newCurrent );
- mTransportList->setSelected( newCurrent, true );
- GlobalSettings::self()->setDefaultTransport( newCurrent->text(0) );
- ti.readConfig( KMTransportInfo::findTransport( newCurrent->text(0) ));
- if ( item->text( 0 ) == GlobalSettings::self()->defaultTransport() ) {
+ if( selectedTransportWasDefault )
+ {
+ TQListViewItem *newCurrent = item->itemBelow();
+ if ( !newCurrent ) newCurrent = item->itemAbove();
+ //mTransportList->removeItem( item );
+ if ( newCurrent ) {
+ mTransportList->setCurrentItem( newCurrent );
+ mTransportList->setSelected( newCurrent, true );
+ GlobalSettings::self()->setDefaultTransport( newCurrent->text(0) );
+ ti.readConfig( KMTransportInfo::findTransport( newCurrent->text(0) ));
if ( ti.type != "sendmail" ) {
newCurrent->setText( 1, i18n("smtp (Default)") );
} else {
newCurrent->setText( 1, i18n("sendmail (Default)" ));
}
+ } else {
+ GlobalSettings::self()->setDefaultTransport( TQString::null );
}
- } else {
- GlobalSettings::self()->setDefaultTransport( TQString::null );
}
-
delete item;
mTransportInfoList.remove( it );
@@ -1760,6 +1766,7 @@ AppearancePageColorsTab::AppearancePageColorsTab( TQWidget * parent, const char
mCloseToQuotaThreshold = new TQSpinBox( 0, 100, 1, this );
connect( mCloseToQuotaThreshold, TQT_SIGNAL( valueChanged( int ) ),
this, TQT_SLOT( slotEmitChanged( void ) ) );
+ mCloseToQuotaThreshold->setEnabled( false );
mCloseToQuotaThreshold->setSuffix( i18n("%"));
hbox->addWidget( mCloseToQuotaThreshold );
hbox->addWidget( new TQWidget(this), 2 );
@@ -1771,6 +1778,8 @@ AppearancePageColorsTab::AppearancePageColorsTab( TQWidget * parent, const char
mRecycleColorCheck, TQT_SLOT(setEnabled(bool)) );
connect( mCustomColorCheck, TQT_SIGNAL(toggled(bool)),
l, TQT_SLOT(setEnabled(bool)) );
+ connect( mCustomColorCheck, TQT_SIGNAL(toggled(bool)),
+ mCloseToQuotaThreshold, TQT_SLOT(setEnabled(bool)) );
connect( mCustomColorCheck, TQT_SIGNAL( stateChanged( int ) ),
this, TQT_SLOT( slotEmitChanged( void ) ) );
@@ -1909,10 +1918,6 @@ AppearancePageLayoutTab::AppearancePageLayoutTab( TQWidget * parent, const char
connect( mFavoriteFolderViewCB, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotEmitChanged()) );
vlay->addWidget( mFavoriteFolderViewCB );
- mFolderQuickSearchCB = new TQCheckBox( i18n("Show folder quick search field"), this );
- connect( mFolderQuickSearchCB, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotEmitChanged()) );
- vlay->addWidget( mFolderQuickSearchCB );
-
// "show reader window" radio buttons:
populateButtonGroup( mReaderWindowModeGroup = new TQVButtonGroup( this ), readerWindowMode );
vlay->addWidget( mReaderWindowModeGroup );
@@ -1943,7 +1948,6 @@ void AppearancePage::LayoutTab::doLoadOther() {
loadWidget( mMIMETreeModeGroup, reader, mimeTreeMode );
loadWidget( mReaderWindowModeGroup, geometry, readerWindowMode );
mFavoriteFolderViewCB->setChecked( GlobalSettings::self()->enableFavoriteFolderView() );
- mFolderQuickSearchCB->setChecked( GlobalSettings::self()->enableFolderQuickSearch() );
}
void AppearancePage::LayoutTab::installProfile( KConfig * profile ) {
@@ -1965,7 +1969,6 @@ void AppearancePage::LayoutTab::save() {
saveButtonGroup( mMIMETreeModeGroup, reader, mimeTreeMode );
saveButtonGroup( mReaderWindowModeGroup, geometry, readerWindowMode );
GlobalSettings::self()->setEnableFavoriteFolderView( mFavoriteFolderViewCB->isChecked() );
- GlobalSettings::self()->setEnableFolderQuickSearch( mFolderQuickSearchCB->isChecked() );
}
//
@@ -2003,8 +2006,6 @@ AppearancePageHeadersTab::AppearancePageHeadersTab( TQWidget * parent, const cha
group = new TQVButtonGroup( i18n( "General Options" ), this );
group->layout()->setSpacing( KDialog::spacingHint() );
- mShowQuickSearch = new TQCheckBox( i18n("Show Quick Search"), group );
-
mMessageSizeCheck = new TQCheckBox( i18n("Display messa&ge sizes"), group );
mCryptoIconsCheck = new TQCheckBox( i18n( "Show crypto &icons" ), group );
@@ -2014,8 +2015,6 @@ AppearancePageHeadersTab::AppearancePageHeadersTab( TQWidget * parent, const cha
mNestedMessagesCheck =
new TQCheckBox( i18n("&Threaded message list"), group );
- connect( mShowQuickSearch, TQT_SIGNAL( stateChanged( int ) ),
- this, TQT_SLOT( slotEmitChanged( void ) ) );
connect( mMessageSizeCheck, TQT_SIGNAL( stateChanged( int ) ),
this, TQT_SLOT( slotEmitChanged( void ) ) );
connect( mAttachmentCheck, TQT_SIGNAL( stateChanged( int ) ),
@@ -2123,7 +2122,6 @@ void AppearancePage::HeadersTab::doLoadOther() {
mMessageSizeCheck->setChecked( general.readBoolEntry( "showMessageSize", false ) );
mCryptoIconsCheck->setChecked( general.readBoolEntry( "showCryptoIcons", false ) );
mAttachmentCheck->setChecked( general.readBoolEntry( "showAttachmentIcon", true ) );
- mShowQuickSearch->setChecked( GlobalSettings::self()->quickSearchActive() );
// "Message Header Threading Options":
int num = geometry.readNumEntry( "nestingPolicy", 3 );
@@ -2204,7 +2202,6 @@ void AppearancePage::HeadersTab::save() {
general.writeEntry( "showMessageSize", mMessageSizeCheck->isChecked() );
general.writeEntry( "showCryptoIcons", mCryptoIconsCheck->isChecked() );
general.writeEntry( "showAttachmentIcon", mAttachmentCheck->isChecked() );
- GlobalSettings::self()->setQuickSearchActive( mShowQuickSearch->isChecked() );
int dateDisplayID = mDateDisplay->id( mDateDisplay->selected() );
// check bounds:
@@ -2220,6 +2217,10 @@ void AppearancePage::HeadersTab::save() {
//
+static const BoolConfigEntry closeAfterReplyOrForward = {
+ "Reader", "CloseAfterReplyOrForward", I18N_NOOP("Close message window after replying or forwarding"), false
+};
+
static const BoolConfigEntry showColorbarMode = {
"Reader", "showColorbar", I18N_NOOP("Show HTML stat&us bar"), false
};
@@ -2251,6 +2252,15 @@ AppearancePageReaderTab::AppearancePageReaderTab( TQWidget * parent,
{
TQVBoxLayout *vlay = new TQVBoxLayout( this, KDialog::marginHint(), KDialog::spacingHint() );
+ // "close message window after replying or forwarding" checkbox
+ populateCheckBox( mCloseAfterReplyOrForwardCheck = new TQCheckBox( this ),
+ closeAfterReplyOrForward );
+ TQToolTip::add( mCloseAfterReplyOrForwardCheck,
+ i18n( "Close the standalone message window after replying or forwarding the message" ) );
+ vlay->addWidget( mCloseAfterReplyOrForwardCheck );
+ connect( mCloseAfterReplyOrForwardCheck, TQT_SIGNAL ( stateChanged( int ) ),
+ this, TQT_SLOT( slotEmitChanged() ) );
+
// "show colorbar" check box:
populateCheckBox( mShowColorbarCheck = new TQCheckBox( this ), showColorbarMode );
vlay->addWidget( mShowColorbarCheck );
@@ -2403,6 +2413,7 @@ void AppearancePage::ReaderTab::readCurrentOverrideCodec()
void AppearancePage::ReaderTab::doLoadFromGlobalSettings()
{
+ mCloseAfterReplyOrForwardCheck->setChecked( GlobalSettings::self()->closeAfterReplyOrForward() );
mShowEmoticonsCheck->setChecked( GlobalSettings::self()->showEmoticons() );
mShrinkQuotesCheck->setChecked( GlobalSettings::self()->shrinkQuotes() );
mShowExpandQuotesMark->setChecked( GlobalSettings::self()->showExpandQuotesMark() );
@@ -2423,6 +2434,7 @@ void AppearancePage::ReaderTab::save() {
KConfigGroup reader( KMKernel::config(), "Reader" );
saveCheckBox( mShowColorbarCheck, reader, showColorbarMode );
saveCheckBox( mShowSpamStatusCheck, reader, showSpamStatusMode );
+ GlobalSettings::self()->setCloseAfterReplyOrForward( mCloseAfterReplyOrForwardCheck->isChecked() );
GlobalSettings::self()->setShowEmoticons( mShowEmoticonsCheck->isChecked() );
GlobalSettings::self()->setShrinkQuotes( mShrinkQuotesCheck->isChecked() );
GlobalSettings::self()->setShowExpandQuotesMark( mShowExpandQuotesMark->isChecked() );
@@ -2439,6 +2451,7 @@ void AppearancePage::ReaderTab::save() {
void AppearancePage::ReaderTab::installProfile( KConfig * /* profile */ ) {
const KConfigGroup reader( KMKernel::config(), "Reader" );
+ loadProfile( mCloseAfterReplyOrForwardCheck, reader, closeAfterReplyOrForward );
loadProfile( mShowColorbarCheck, reader, showColorbarMode );
loadProfile( mShowSpamStatusCheck, reader, showSpamStatusMode );
loadProfile( mShowEmoticonsCheck, reader, showEmoticons );
@@ -2605,10 +2618,29 @@ ComposerPageGeneralTab::ComposerPageGeneralTab( TQWidget * parent, const char *
mSmartQuoteCheck = new TQCheckBox(
GlobalSettings::self()->smartQuoteItem()->label(),
this, "kcfg_SmartQuote" );
+ TQToolTip::add( mSmartQuoteCheck,
+ i18n( "When replying, add quote signs in front of all lines of the quoted text,\n"
+ "even when the line was created by adding an additional linebreak while\n"
+ "word-wrapping the text." ) );
vlay->addWidget( mSmartQuoteCheck );
connect( mSmartQuoteCheck, TQT_SIGNAL( stateChanged(int) ),
this, TQT_SLOT( slotEmitChanged( void ) ) );
+ mQuoteSelectionOnlyCheck = new TQCheckBox( GlobalSettings::self()->quoteSelectionOnlyItem()->label(),
+ this, "kcfg_QuoteSelectionOnly" );
+ TQToolTip::add( mQuoteSelectionOnlyCheck,
+ i18n( "When replying, only quote the selected text instead of the complete message "
+ "when there is text selected in the message window." ) );
+ vlay->addWidget( mQuoteSelectionOnlyCheck );
+ connect( mQuoteSelectionOnlyCheck, TQT_SIGNAL( stateChanged(int) ),
+ this, TQT_SLOT( slotEmitChanged(void) ) );
+
+ mStripSignatureCheck = new TQCheckBox( GlobalSettings::self()->stripSignatureItem()->label(),
+ this, "kcfg_StripSignature" );
+ vlay->addWidget( mStripSignatureCheck );
+ connect( mStripSignatureCheck, TQT_SIGNAL( stateChanged(int) ),
+ this, TQT_SLOT( slotEmitChanged( void ) ) );
+
mAutoRequestMDNCheck = new TQCheckBox(
GlobalSettings::self()->requestMDNItem()->label(),
this, "kcfg_RequestMDN" );
@@ -2645,6 +2677,41 @@ ComposerPageGeneralTab::ComposerPageGeneralTab( TQWidget * parent, const char *
connect( mWordWrapCheck, TQT_SIGNAL(toggled(bool)),
mWrapColumnSpin, TQT_SLOT(setEnabled(bool)) );
+ // a checkbox for "too many recipient warning" and a spinbox for the recipient threshold
+ hlay = new TQHBoxLayout( vlay ); // inherits spacing
+ mRecipientCheck = new TQCheckBox(
+ GlobalSettings::self()->tooManyRecipientsItem()->label(),
+ this, "kcfg_TooManyRecipients" );
+ hlay->addWidget( mRecipientCheck );
+ connect( mRecipientCheck, TQT_SIGNAL( stateChanged(int) ),
+ this, TQT_SLOT( slotEmitChanged( void ) ) );
+
+ TQString recipientCheckWhatsthis =
+ i18n( GlobalSettings::self()->tooManyRecipientsItem()->whatsThis().utf8() );
+ TQWhatsThis::add( mRecipientCheck, recipientCheckWhatsthis );
+ TQToolTip::add( mRecipientCheck,
+ i18n( "Warn if too many recipients are specified" ) );
+
+ mRecipientSpin = new KIntSpinBox( 1/*min*/, 100/*max*/, 1/*step*/,
+ 5/*init*/, 10 /*base*/, this, "kcfg_RecipientThreshold" );
+ mRecipientSpin->setEnabled( false );
+ connect( mRecipientSpin, TQT_SIGNAL( valueChanged(int) ),
+ this, TQT_SLOT( slotEmitChanged( void ) ) );
+
+ TQString recipientWhatsthis =
+ i18n( GlobalSettings::self()->recipientThresholdItem()->whatsThis().utf8() );
+ TQWhatsThis::add( mRecipientSpin, recipientWhatsthis );
+ TQToolTip::add( mRecipientSpin,
+ i18n( "Warn if more than this many recipients are specified" ) );
+
+
+ hlay->addWidget( mRecipientSpin );
+ hlay->addStretch( 1 );
+ // only enable the spinbox if the checkbox is checked:
+ connect( mRecipientCheck, TQT_SIGNAL(toggled(bool)),
+ mRecipientSpin, TQT_SLOT(setEnabled(bool)) );
+
+
hlay = new TQHBoxLayout( vlay ); // inherits spacing
mAutoSave = new KIntSpinBox( 0, 60, 1, 1, 10, this, "kcfg_AutosaveInterval" );
label = new TQLabel( mAutoSave,
@@ -2658,6 +2725,20 @@ ComposerPageGeneralTab::ComposerPageGeneralTab( TQWidget * parent, const char *
this, TQT_SLOT( slotEmitChanged( void ) ) );
hlay = new TQHBoxLayout( vlay ); // inherits spacing
+ mForwardTypeCombo = new KComboBox( false, this );
+ label = new TQLabel( mForwardTypeCombo,
+ i18n( "Default Forwarding Type:" ),
+ this );
+ mForwardTypeCombo->insertStringList( TQStringList()
+ << i18n( "Inline" )
+ << i18n( "As Attachment" ) );
+ hlay->addWidget( label );
+ hlay->addWidget( mForwardTypeCombo );
+ hlay->addStretch( 1 );
+ connect( mForwardTypeCombo, TQT_SIGNAL(activated(int)),
+ this, TQT_SLOT( slotEmitChanged( void ) ) );
+
+ hlay = new TQHBoxLayout( vlay ); // inherits spacing
TQPushButton *completionOrderBtn = new TQPushButton( i18n( "Configure Completion Order" ), this );
connect( completionOrderBtn, TQT_SIGNAL( clicked() ),
this, TQT_SLOT( slotConfigureCompletionOrder() ) );
@@ -2721,11 +2802,19 @@ void ComposerPage::GeneralTab::doLoadFromGlobalSettings() {
GlobalSettings::self()->autoTextSignature()=="auto" );
mTopQuoteCheck->setChecked( GlobalSettings::self()->prependSignature() );
mSmartQuoteCheck->setChecked( GlobalSettings::self()->smartQuote() );
+ mQuoteSelectionOnlyCheck->setChecked( GlobalSettings::self()->quoteSelectionOnly() );
+ mStripSignatureCheck->setChecked( GlobalSettings::self()->stripSignature() );
mAutoRequestMDNCheck->setChecked( GlobalSettings::self()->requestMDN() );
mWordWrapCheck->setChecked( GlobalSettings::self()->wordWrap() );
mWrapColumnSpin->setValue( GlobalSettings::self()->lineWrapWidth() );
+ mRecipientCheck->setChecked( GlobalSettings::self()->tooManyRecipients() );
+ mRecipientSpin->setValue( GlobalSettings::self()->recipientThreshold() );
mAutoSave->setValue( GlobalSettings::self()->autosaveInterval() );
+ if ( GlobalSettings::self()->forwardingInlineByDefault() )
+ mForwardTypeCombo->setCurrentItem( 0 );
+ else
+ mForwardTypeCombo->setCurrentItem( 1 );
// editor group:
mExternalEditorCheck->setChecked( GlobalSettings::self()->useExternalEditor() );
@@ -2744,12 +2833,20 @@ void ComposerPage::GeneralTab::installProfile( KConfig * profile ) {
mTopQuoteCheck->setChecked( composer.readBoolEntry( "prepend-signature" ) );
if ( composer.hasKey( "smart-quote" ) )
mSmartQuoteCheck->setChecked( composer.readBoolEntry( "smart-quote" ) );
+ if ( composer.hasKey( "StripSignature" ) )
+ mStripSignatureCheck->setChecked( composer.readBoolEntry( "StripSignature" ) );
+ if ( composer.hasKey( "QuoteSelectionOnly" ) )
+ mQuoteSelectionOnlyCheck->setChecked( composer.readBoolEntry( "QuoteSelectionOnly" ) );
if ( composer.hasKey( "request-mdn" ) )
mAutoRequestMDNCheck->setChecked( composer.readBoolEntry( "request-mdn" ) );
if ( composer.hasKey( "word-wrap" ) )
mWordWrapCheck->setChecked( composer.readBoolEntry( "word-wrap" ) );
if ( composer.hasKey( "break-at" ) )
mWrapColumnSpin->setValue( composer.readNumEntry( "break-at" ) );
+ if ( composer.hasKey( "too-many-recipients" ) )
+ mRecipientCheck->setChecked( composer.readBoolEntry( "too-many-recipients" ) );
+ if ( composer.hasKey( "recipient-threshold" ) )
+ mRecipientSpin->setValue( composer.readNumEntry( "recipient-threshold" ) );
if ( composer.hasKey( "autosave" ) )
mAutoSave->setValue( composer.readNumEntry( "autosave" ) );
@@ -2765,11 +2862,16 @@ void ComposerPage::GeneralTab::save() {
mAutoAppSignFileCheck->isChecked() ? "auto" : "manual" );
GlobalSettings::self()->setPrependSignature( mTopQuoteCheck->isChecked());
GlobalSettings::self()->setSmartQuote( mSmartQuoteCheck->isChecked() );
+ GlobalSettings::self()->setQuoteSelectionOnly( mQuoteSelectionOnlyCheck->isChecked() );
+ GlobalSettings::self()->setStripSignature( mStripSignatureCheck->isChecked() );
GlobalSettings::self()->setRequestMDN( mAutoRequestMDNCheck->isChecked() );
GlobalSettings::self()->setWordWrap( mWordWrapCheck->isChecked() );
GlobalSettings::self()->setLineWrapWidth( mWrapColumnSpin->value() );
+ GlobalSettings::self()->setTooManyRecipients( mRecipientCheck->isChecked() );
+ GlobalSettings::self()->setRecipientThreshold( mRecipientSpin->value() );
GlobalSettings::self()->setAutosaveInterval( mAutoSave->value() );
+ GlobalSettings::self()->setForwardingInlineByDefault( mForwardTypeCombo->currentItem() == 0 );
// editor group:
GlobalSettings::self()->setUseExternalEditor( mExternalEditorCheck->isChecked() );
@@ -4491,7 +4593,11 @@ MiscPageFolderTab::MiscPageFolderTab( TQWidget * parent, const char * name )
<< i18n("continuation of \"When entering a folder:\"",
"Jump to First Unread or New Message")
<< i18n("continuation of \"When entering a folder:\"",
- "Jump to Last Selected Message"));
+ "Jump to Last Selected Message")
+ << i18n("continuation of \"When entering a folder:\"",
+ "Jump to Newest Message")
+ << i18n("continuation of \"When entering a folder:\"",
+ "Jump to Oldest Message") );
hlay->addWidget( label );
hlay->addWidget( mActionEnterFolder, 1 );
connect( mActionEnterFolder, TQT_SIGNAL( activated( int ) ),
@@ -4720,7 +4826,7 @@ MiscPageGroupwareTab::MiscPageGroupwareTab( TQWidget* parent, const char* name )
mStorageFormatCombo = new TQComboBox( false, mBox );
storageFormatLA->setBuddy( mStorageFormatCombo );
TQStringList formatLst;
- formatLst << i18n("Standard (Ical / Vcard)") << i18n("Kolab (XML)");
+ formatLst << i18n("Deprecated Kolab1 (iCal/vCard)") << i18n("Kolab2 (XML)");
mStorageFormatCombo->insertStringList( formatLst );
grid->addWidget( mStorageFormatCombo, 0, 1 );
TQToolTip::add( mStorageFormatCombo, toolTip );
@@ -4806,8 +4912,8 @@ MiscPageGroupwareTab::MiscPageGroupwareTab( TQWidget* parent, const char* name )
i18n( "Synchronize groupware changes in disconnected IMAP folders immediately when being online." ) );
connect( mSyncImmediately, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotEmitChanged()) );
grid->addMultiCellWidget( mSyncImmediately, 4, 4, 0, 1 );
-
- mDeleteInvitations = new TQCheckBox(
+
+ mDeleteInvitations = new TQCheckBox(
i18n( GlobalSettings::self()->deleteInvitationEmailsAfterSendingReplyItem()->label().utf8() ), mBox );
TQWhatsThis::add( mDeleteInvitations, i18n( GlobalSettings::self()
->deleteInvitationEmailsAfterSendingReplyItem()->whatsThis().utf8() ) );
@@ -4844,12 +4950,19 @@ MiscPageGroupwareTab::MiscPageGroupwareTab( TQWidget* parent, const char* name )
this, TQT_SLOT( slotEmitChanged( void ) ) );
mExchangeCompatibleInvitations = new TQCheckBox( i18n( "Exchange compatible invitation naming" ), gBox );
- TQToolTip::add( mExchangeCompatibleInvitations, i18n( "Microsoft Outlook, when used in combination with a Microsoft Exchange server, has a problem understanding standards-compliant groupware e-mail. Turn this option on to send groupware invitations in a way that Microsoft Exchange understands." ) );
+ TQToolTip::add( mExchangeCompatibleInvitations, i18n( "Outlook(tm), when used in combination with a Microsoft Exchange server,\nhas a problem understanding standards-compliant groupware e-mail.\nTurn this option on to send groupware invitations and replies in an Exchange compatible way." ) );
TQWhatsThis::add( mExchangeCompatibleInvitations, i18n( GlobalSettings::self()->
exchangeCompatibleInvitationsItem()->whatsThis().utf8() ) );
connect( mExchangeCompatibleInvitations, TQT_SIGNAL( stateChanged( int ) ),
this, TQT_SLOT( slotEmitChanged( void ) ) );
+ mOutlookCompatibleInvitationComments = new TQCheckBox( i18n( "Outlook compatible invitation reply comments" ), gBox );
+ TQToolTip::add( mOutlookCompatibleInvitationComments, i18n( "Send invitation reply comments in a way that Microsoft Outlook(tm) understands." ) );
+ TQWhatsThis::add( mOutlookCompatibleInvitationComments, i18n( GlobalSettings::self()->
+ outlookCompatibleInvitationReplyCommentsItem()->whatsThis().utf8() ) );
+ connect( mOutlookCompatibleInvitationComments, TQT_SIGNAL( stateChanged( int ) ),
+ this, TQT_SLOT( slotEmitChanged( void ) ) );
+
mAutomaticSending = new TQCheckBox( i18n( "Automatic invitation sending" ), gBox );
TQToolTip::add( mAutomaticSending, i18n( "When this is on, the user will not see the mail composer window. Invitation mails are sent automatically" ) );
TQWhatsThis::add( mAutomaticSending, i18n( GlobalSettings::self()->
@@ -4897,6 +5010,8 @@ void MiscPage::GroupwareTab::doLoadFromGlobalSettings() {
mExchangeCompatibleInvitations->setChecked( GlobalSettings::self()->exchangeCompatibleInvitations() );
+ mOutlookCompatibleInvitationComments->setChecked( GlobalSettings::self()->outlookCompatibleInvitationReplyComments() );
+
mAutomaticSending->setChecked( GlobalSettings::self()->automaticSending() );
mAutomaticSending->setEnabled( !mLegacyBodyInvites->isChecked() );
@@ -4959,6 +5074,7 @@ void MiscPage::GroupwareTab::save() {
groupware.writeEntry( "LegacyMangleFromToHeaders", mLegacyMangleFromTo->isChecked() );
groupware.writeEntry( "LegacyBodyInvites", mLegacyBodyInvites->isChecked() );
groupware.writeEntry( "ExchangeCompatibleInvitations", mExchangeCompatibleInvitations->isChecked() );
+ groupware.writeEntry( "OutlookCompatibleInvitationReplyComments", mOutlookCompatibleInvitationComments->isChecked() );
groupware.writeEntry( "AutomaticSending", mAutomaticSending->isChecked() );
if ( mEnableGwCB ) {
@@ -4967,6 +5083,7 @@ void MiscPage::GroupwareTab::save() {
GlobalSettings::self()->setLegacyMangleFromToHeaders( mLegacyMangleFromTo->isChecked() );
GlobalSettings::self()->setLegacyBodyInvites( mLegacyBodyInvites->isChecked() );
GlobalSettings::self()->setExchangeCompatibleInvitations( mExchangeCompatibleInvitations->isChecked() );
+ GlobalSettings::self()->setOutlookCompatibleInvitationReplyComments( mOutlookCompatibleInvitationComments->isChecked() );
GlobalSettings::self()->setAutomaticSending( mAutomaticSending->isChecked() );
int format = mStorageFormatCombo->currentItem();