00001
00002
00003
00004 #include "globalsettings_base.h"
00005
00006 #include <klocale.h>
00007
00008 #include <kstaticdeleter.h>
00009
00010 GlobalSettingsBase *GlobalSettingsBase::mSelf = 0;
00011 static KStaticDeleter<GlobalSettingsBase> staticGlobalSettingsBaseDeleter;
00012
00013 GlobalSettingsBase *GlobalSettingsBase::self()
00014 {
00015 if ( !mSelf ) {
00016 staticGlobalSettingsBaseDeleter.setObject( mSelf, new GlobalSettingsBase() );
00017 mSelf->readConfig();
00018 }
00019
00020 return mSelf;
00021 }
00022
00023 GlobalSettingsBase::GlobalSettingsBase( )
00024 : KConfigSkeleton( QString::fromLatin1( "kmailrc" ) )
00025 {
00026 mSelf = this;
00027 setCurrentGroup( QString::fromLatin1( "Behaviour" ) );
00028
00029 mDelayedMarkAsReadItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "DelayedMarkAsRead" ), mDelayedMarkAsRead, true );
00030 mDelayedMarkAsReadItem->setLabel( i18n("DelayedMarkAsRead") );
00031 addItem( mDelayedMarkAsReadItem, QString::fromLatin1( "DelayedMarkAsRead" ) );
00032 mDelayedMarkTimeItem = new KConfigSkeleton::ItemUInt( currentGroup(), QString::fromLatin1( "DelayedMarkTime" ), mDelayedMarkTime, 0 );
00033 mDelayedMarkTimeItem->setLabel( i18n("DelayedMarkTime") );
00034 addItem( mDelayedMarkTimeItem, QString::fromLatin1( "DelayedMarkTime" ) );
00035 QValueList<KConfigSkeleton::ItemEnum::Choice> valuesActionEnterFolder;
00036 {
00037 KConfigSkeleton::ItemEnum::Choice choice;
00038 choice.name = QString::fromLatin1( "SelectFirstNew" );
00039 valuesActionEnterFolder.append( choice );
00040 }
00041 {
00042 KConfigSkeleton::ItemEnum::Choice choice;
00043 choice.name = QString::fromLatin1( "SelectFirstUnreadNew" );
00044 valuesActionEnterFolder.append( choice );
00045 }
00046 {
00047 KConfigSkeleton::ItemEnum::Choice choice;
00048 choice.name = QString::fromLatin1( "SelectLastSelected" );
00049 valuesActionEnterFolder.append( choice );
00050 }
00051 mActionEnterFolderItem = new KConfigSkeleton::ItemEnum( currentGroup(), QString::fromLatin1( "ActionEnterFolder" ), mActionEnterFolder, valuesActionEnterFolder, EnumActionEnterFolder::SelectFirstNew );
00052 mActionEnterFolderItem->setLabel( i18n("ActionEnterFolder") );
00053 addItem( mActionEnterFolderItem, QString::fromLatin1( "ActionEnterFolder" ) );
00054 QValueList<KConfigSkeleton::ItemEnum::Choice> valuesNetworkState;
00055 {
00056 KConfigSkeleton::ItemEnum::Choice choice;
00057 choice.name = QString::fromLatin1( "Online" );
00058 valuesNetworkState.append( choice );
00059 }
00060 {
00061 KConfigSkeleton::ItemEnum::Choice choice;
00062 choice.name = QString::fromLatin1( "Offline" );
00063 valuesNetworkState.append( choice );
00064 }
00065 mNetworkStateItem = new KConfigSkeleton::ItemEnum( currentGroup(), QString::fromLatin1( "NetworkState" ), mNetworkState, valuesNetworkState, EnumNetworkState::Online );
00066 mNetworkStateItem->setLabel( i18n("NetworkState") );
00067 addItem( mNetworkStateItem, QString::fromLatin1( "NetworkState" ) );
00068 QValueList<KConfigSkeleton::ItemEnum::Choice> valuesLoopOnGotoUnread;
00069 {
00070 KConfigSkeleton::ItemEnum::Choice choice;
00071 choice.name = QString::fromLatin1( "DontLoop" );
00072 valuesLoopOnGotoUnread.append( choice );
00073 }
00074 {
00075 KConfigSkeleton::ItemEnum::Choice choice;
00076 choice.name = QString::fromLatin1( "LoopInCurrentFolder" );
00077 valuesLoopOnGotoUnread.append( choice );
00078 }
00079 {
00080 KConfigSkeleton::ItemEnum::Choice choice;
00081 choice.name = QString::fromLatin1( "LoopInAllFolders" );
00082 valuesLoopOnGotoUnread.append( choice );
00083 }
00084 mLoopOnGotoUnreadItem = new KConfigSkeleton::ItemEnum( currentGroup(), QString::fromLatin1( "LoopOnGotoUnread" ), mLoopOnGotoUnread, valuesLoopOnGotoUnread, EnumLoopOnGotoUnread::DontLoop );
00085 mLoopOnGotoUnreadItem->setLabel( i18n("LoopOnGotoUnread") );
00086 addItem( mLoopOnGotoUnreadItem, QString::fromLatin1( "LoopOnGotoUnread" ) );
00087 mShowPopupAfterDnDItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "ShowPopupAfterDnD" ), mShowPopupAfterDnD, true );
00088 mShowPopupAfterDnDItem->setLabel( i18n("ShowPopupAfterDnD") );
00089 addItem( mShowPopupAfterDnDItem, QString::fromLatin1( "ShowPopupAfterDnD" ) );
00090 mExcludeImportantMailFromExpiryItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "ExcludeImportantMailFromExpiry" ), mExcludeImportantMailFromExpiry, true );
00091 mExcludeImportantMailFromExpiryItem->setLabel( i18n("ExcludeImportantMailFromExpiry") );
00092 addItem( mExcludeImportantMailFromExpiryItem, QString::fromLatin1( "ExcludeImportantMailFromExpiry" ) );
00093 QValueList<KConfigSkeleton::ItemEnum::Choice> valuesSendOnCheck;
00094 {
00095 KConfigSkeleton::ItemEnum::Choice choice;
00096 choice.name = QString::fromLatin1( "DontSendOnCheck" );
00097 valuesSendOnCheck.append( choice );
00098 }
00099 {
00100 KConfigSkeleton::ItemEnum::Choice choice;
00101 choice.name = QString::fromLatin1( "SendOnManualChecks" );
00102 valuesSendOnCheck.append( choice );
00103 }
00104 {
00105 KConfigSkeleton::ItemEnum::Choice choice;
00106 choice.name = QString::fromLatin1( "SendOnAllChecks" );
00107 valuesSendOnCheck.append( choice );
00108 }
00109 mSendOnCheckItem = new KConfigSkeleton::ItemEnum( currentGroup(), QString::fromLatin1( "SendOnCheck" ), mSendOnCheck, valuesSendOnCheck, EnumSendOnCheck::DontSendOnCheck );
00110 mSendOnCheckItem->setLabel( i18n("Send queued mail on mail check") );
00111 mSendOnCheckItem->setWhatsThis( i18n("<qt><p>Select whether you want KMail to send all messages in the outbox on manual or all mail checks, or whether you do not want messages to be sent automatically at all. </p></qt>") );
00112 addItem( mSendOnCheckItem, QString::fromLatin1( "SendOnCheck" ) );
00113
00114 setCurrentGroup( QString::fromLatin1( "FolderSelectionDialog" ) );
00115
00116 mLastSelectedFolderItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "LastSelectedFolder" ), mLastSelectedFolder, QString::fromLatin1( "inbox" ) );
00117 mLastSelectedFolderItem->setLabel( i18n("LastSelectedFolder") );
00118 mLastSelectedFolderItem->setWhatsThis( i18n("The most recently selected folder in the folder selection dialog.") );
00119 addItem( mLastSelectedFolderItem, QString::fromLatin1( "LastSelectedFolder" ) );
00120
00121 setCurrentGroup( QString::fromLatin1( "General" ) );
00122
00123 mSystemTrayEnabledItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "SystemTrayEnabled" ), mSystemTrayEnabled, false );
00124 mSystemTrayEnabledItem->setLabel( i18n("Enable system tray icon") );
00125 addItem( mSystemTrayEnabledItem, QString::fromLatin1( "SystemTrayEnabled" ) );
00126 QValueList<KConfigSkeleton::ItemEnum::Choice> valuesSystemTrayPolicy;
00127 {
00128 KConfigSkeleton::ItemEnum::Choice choice;
00129 choice.name = QString::fromLatin1( "ShowAlways" );
00130 valuesSystemTrayPolicy.append( choice );
00131 }
00132 {
00133 KConfigSkeleton::ItemEnum::Choice choice;
00134 choice.name = QString::fromLatin1( "ShowOnUnread" );
00135 valuesSystemTrayPolicy.append( choice );
00136 }
00137 mSystemTrayPolicyItem = new KConfigSkeleton::ItemEnum( currentGroup(), QString::fromLatin1( "SystemTrayPolicy" ), mSystemTrayPolicy, valuesSystemTrayPolicy, EnumSystemTrayPolicy::ShowOnUnread );
00138 mSystemTrayPolicyItem->setLabel( i18n("Policy for showing the system tray icon") );
00139 addItem( mSystemTrayPolicyItem, QString::fromLatin1( "SystemTrayPolicy" ) );
00140 mVerboseNewMailNotificationItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "VerboseNewMailNotification" ), mVerboseNewMailNotification, true );
00141 mVerboseNewMailNotificationItem->setLabel( i18n("Verbose new mail notification") );
00142 mVerboseNewMailNotificationItem->setWhatsThis( i18n("If this option is enabled then for each folder the number of newly arrived messages is shown in the new mail notification; otherwise, you will only get a simple 'New mail arrived' message.") );
00143 addItem( mVerboseNewMailNotificationItem, QString::fromLatin1( "VerboseNewMailNotification" ) );
00144 mExternalEditorItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "external-editor" ), mExternalEditor, QString::fromLatin1( "kate %f" ) );
00145 mExternalEditorItem->setLabel( i18n("Specify e&ditor:") );
00146 addItem( mExternalEditorItem, QString::fromLatin1( "ExternalEditor" ) );
00147 mUseExternalEditorItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "use-external-editor" ), mUseExternalEditor, false );
00148 mUseExternalEditorItem->setLabel( i18n("Use e&xternal editor instead of composer") );
00149 addItem( mUseExternalEditorItem, QString::fromLatin1( "UseExternalEditor" ) );
00150 mCustHeaderCountItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "mime-header-count" ), mCustHeaderCount );
00151 mCustHeaderCountItem->setLabel( i18n("mime-header-count") );
00152 addItem( mCustHeaderCountItem, QString::fromLatin1( "CustHeaderCount" ) );
00153 mReplyCurrentLanguageItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "reply-current-language" ), mReplyCurrentLanguage, 0 );
00154 mReplyCurrentLanguageItem->setLabel( i18n("reply-current-language") );
00155 addItem( mReplyCurrentLanguageItem, QString::fromLatin1( "ReplyCurrentLanguage" ) );
00156 mReplyLanguagesCountItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "reply-languages" ), mReplyLanguagesCount, 0 );
00157 mReplyLanguagesCountItem->setMinValue(0);
00158 mReplyLanguagesCountItem->setLabel( i18n("reply-languages") );
00159 addItem( mReplyLanguagesCountItem, QString::fromLatin1( "ReplyLanguagesCount" ) );
00160 mFolderLoadingTimeoutItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "FolderLoadingTimeout" ), mFolderLoadingTimeout, 1000 );
00161 mFolderLoadingTimeoutItem->setLabel( i18n("FolderLoadingTimeout") );
00162 addItem( mFolderLoadingTimeoutItem, QString::fromLatin1( "FolderLoadingTimeout" ) );
00163
00164 setCurrentGroup( QString::fromLatin1( "Groupware" ) );
00165
00166 mGroupwareEnabledItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "GroupwareEnabled" ), mGroupwareEnabled, true );
00167 mGroupwareEnabledItem->setLabel( i18n("Enable groupware functionality") );
00168 addItem( mGroupwareEnabledItem, QString::fromLatin1( "GroupwareEnabled" ) );
00169 mLegacyMangleFromToHeadersItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "LegacyMangleFromToHeaders" ), mLegacyMangleFromToHeaders, false );
00170 mLegacyMangleFromToHeadersItem->setLabel( i18n("Mangle From:/To: headers in replies to replies") );
00171 mLegacyMangleFromToHeadersItem->setWhatsThis( i18n("Microsoft Outlook has a number of shortcomings in its implementation of the iCalendar standard; this option works around one of them. If you have problems with Outlook users not being able to get your replies, try setting this option.") );
00172 addItem( mLegacyMangleFromToHeadersItem, QString::fromLatin1( "LegacyMangleFromToHeaders" ) );
00173 mLegacyBodyInvitesItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "LegacyBodyInvites" ), mLegacyBodyInvites, false );
00174 mLegacyBodyInvitesItem->setLabel( i18n("Send groupware invitations in the mail body") );
00175 mLegacyBodyInvitesItem->setWhatsThis( i18n("Microsoft Outlook has a number of shortcomings in its implementation of the iCalendar standard; this option works around one of them. If you have problems with Outlook users not being able to get your invitations, try setting this option.") );
00176 addItem( mLegacyBodyInvitesItem, QString::fromLatin1( "LegacyBodyInvites" ) );
00177 mAutomaticSendingItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "AutomaticSending" ), mAutomaticSending, true );
00178 mAutomaticSendingItem->setLabel( i18n("Automatic invitation sending") );
00179 mAutomaticSendingItem->setWhatsThis( i18n("When this is checked, you will not see the mail composer window. Instead, all invitation mails are sent automatically. If you want to see the mail before sending it, you can uncheck this option. However, be aware that the text in the composer window is in iCalendar syntax, and you should not try modifying it by hand.") );
00180 addItem( mAutomaticSendingItem, QString::fromLatin1( "AutomaticSending" ) );
00181
00182 setCurrentGroup( QString::fromLatin1( "IMAP Resource" ) );
00183
00184 mTheIMAPResourceEnabledItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "TheIMAPResourceEnabled" ), mTheIMAPResourceEnabled, false );
00185 mTheIMAPResourceEnabledItem->setLabel( i18n("TheIMAPResourceEnabled") );
00186 mTheIMAPResourceEnabledItem->setWhatsThis( i18n("<p>Enabling this makes it possible to store the entries from the Kontact applications (KOrganizer, KAddressBook, and KNotes.)</p><p>If you want to set this option you must also set the applications to use the IMAP resource; this is done in the KDE Control Center.</p>") );
00187 addItem( mTheIMAPResourceEnabledItem, QString::fromLatin1( "TheIMAPResourceEnabled" ) );
00188 mHideGroupwareFoldersItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "HideGroupwareFolders" ), mHideGroupwareFolders, true );
00189 mHideGroupwareFoldersItem->setLabel( i18n("HideGroupwareFolders") );
00190 mHideGroupwareFoldersItem->setWhatsThis( i18n("<p>Usually you will not have any reason to see the folders that hold the IMAP resources. But if you need to see them, you can set that here.</p>") );
00191 addItem( mHideGroupwareFoldersItem, QString::fromLatin1( "HideGroupwareFolders" ) );
00192 QValueList<KConfigSkeleton::ItemEnum::Choice> valuesTheIMAPResourceStorageFormat;
00193 {
00194 KConfigSkeleton::ItemEnum::Choice choice;
00195 choice.name = QString::fromLatin1( "IcalVcard" );
00196 valuesTheIMAPResourceStorageFormat.append( choice );
00197 }
00198 {
00199 KConfigSkeleton::ItemEnum::Choice choice;
00200 choice.name = QString::fromLatin1( "XML" );
00201 valuesTheIMAPResourceStorageFormat.append( choice );
00202 }
00203 mTheIMAPResourceStorageFormatItem = new KConfigSkeleton::ItemEnum( currentGroup(), QString::fromLatin1( "TheIMAPResourceStorageFormat" ), mTheIMAPResourceStorageFormat, valuesTheIMAPResourceStorageFormat, EnumTheIMAPResourceStorageFormat::IcalVcard );
00204 mTheIMAPResourceStorageFormatItem->setLabel( i18n("TheIMAPResourceStorageFormat") );
00205 mTheIMAPResourceStorageFormatItem->setWhatsThis( i18n("<p>Choose the storage format of the groupware folders. <ul><li>The default format is to use the ical (for calendar folders) and vcard (for addressbook folders) standards. This format makes all Kontact features available.</li><li>The Kolab XML format uses a custom model that matches more closely the one used in Outlook. This format gives better Outlook compatibility, when using a Kolab server or a compatible solution.</li></ul></p>") );
00206 addItem( mTheIMAPResourceStorageFormatItem, QString::fromLatin1( "TheIMAPResourceStorageFormat" ) );
00207 mTheIMAPResourceFolderParentItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "TheIMAPResourceFolderParent" ), mTheIMAPResourceFolderParent, QString::fromLatin1( "inbox" ) );
00208 mTheIMAPResourceFolderParentItem->setLabel( i18n("TheIMAPResourceFolderParent") );
00209 mTheIMAPResourceFolderParentItem->setWhatsThis( i18n("<p>This chooses the parent of the IMAP resource folders.</p><p>By default, the Kolab server sets the IMAP inbox to be the parent.</p>") );
00210 addItem( mTheIMAPResourceFolderParentItem, QString::fromLatin1( "TheIMAPResourceFolderParent" ) );
00211 mTheIMAPResourceAccountItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "TheIMAPResourceAccount" ), mTheIMAPResourceAccount );
00212 mTheIMAPResourceAccountItem->setLabel( i18n("TheIMAPResourceAccount") );
00213 mTheIMAPResourceAccountItem->setWhatsThis( i18n("<p>This is the ID of the account holding the IMAP resource folders.</p>") );
00214 addItem( mTheIMAPResourceAccountItem, QString::fromLatin1( "TheIMAPResourceAccount" ) );
00215 mTheIMAPResourceFolderLanguageItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "TheIMAPResourceFolderLanguage" ), mTheIMAPResourceFolderLanguage, 0 );
00216 mTheIMAPResourceFolderLanguageItem->setLabel( i18n("TheIMAPResourceFolderLanguage") );
00217 mTheIMAPResourceFolderLanguageItem->setWhatsThis( i18n("<p>If you want to set the folder names of the IMAP storage to your local language, you can choose between these available languages.</p><p> Please note, that the only reason to do so is for compatibility with Microsoft Outlook. It is considered a bad idea to set this, since it makes changing languages impossible. </p><p>So do not set this unless you have to.</p>") );
00218 addItem( mTheIMAPResourceFolderLanguageItem, QString::fromLatin1( "TheIMAPResourceFolderLanguage" ) );
00219
00220 setCurrentGroup( QString::fromLatin1( "Internal" ) );
00221
00222 mMsgDictSizeHintItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "MsgDictSizeHint" ), mMsgDictSizeHint, 9973 );
00223 mMsgDictSizeHintItem->setLabel( i18n("MsgDictSizeHint") );
00224 addItem( mMsgDictSizeHintItem, QString::fromLatin1( "MsgDictSizeHint" ) );
00225 mPreviousNewFeaturesMD5Item = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "PreviousNewFeaturesMD5" ), mPreviousNewFeaturesMD5 );
00226 mPreviousNewFeaturesMD5Item->setLabel( i18n("PreviousNewFeaturesMD5") );
00227 mPreviousNewFeaturesMD5Item->setWhatsThis( i18n("This value is used to decide whether the KMail Introduction should be displayed.") );
00228 addItem( mPreviousNewFeaturesMD5Item, QString::fromLatin1( "PreviousNewFeaturesMD5" ) );
00229
00230 setCurrentGroup( QString::fromLatin1( "Network" ) );
00231
00232 mMaxConnectionsPerHostItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "MaxConnectionsPerHost" ), mMaxConnectionsPerHost, 0 );
00233 mMaxConnectionsPerHostItem->setMinValue(0);
00234 mMaxConnectionsPerHostItem->setLabel( i18n("Maximal number of connections per host") );
00235 mMaxConnectionsPerHostItem->setWhatsThis( i18n("This can be used to restrict the number of connections per host while checking for new mail. By default the number of connections is unlimited (0).") );
00236 addItem( mMaxConnectionsPerHostItem, QString::fromLatin1( "MaxConnectionsPerHost" ) );
00237
00238 setCurrentGroup( QString::fromLatin1( "UserInterface" ) );
00239
00240 mQuickSearchActiveItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "QuickSearchActive" ), mQuickSearchActive, true );
00241 mQuickSearchActiveItem->setLabel( i18n("Show quick search line edit") );
00242 mQuickSearchActiveItem->setWhatsThis( i18n("This option enables or disables the search line edit above the message list which can be used to quickly search the information shown in the message list.") );
00243 addItem( mQuickSearchActiveItem, QString::fromLatin1( "QuickSearchActive" ) );
00244
00245 setCurrentGroup( QString::fromLatin1( "Composer" ) );
00246
00247 mForceReplyCharsetItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "force-reply-charset" ), mForceReplyCharset, false );
00248 mForceReplyCharsetItem->setLabel( i18n("Keep original charset when replying or forwarding if possible") );
00249 addItem( mForceReplyCharsetItem, QString::fromLatin1( "ForceReplyCharset" ) );
00250 mAutoTextSignatureItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "signature" ), mAutoTextSignature, QString::fromLatin1( "auto" ) );
00251 mAutoTextSignatureItem->setLabel( i18n("A&utomatically append signature") );
00252 addItem( mAutoTextSignatureItem, QString::fromLatin1( "AutoTextSignature" ) );
00253 mStickyIdentityItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "sticky-identity" ), mStickyIdentity, false );
00254 mStickyIdentityItem->setLabel( i18n("sticky-identity") );
00255 mStickyIdentityItem->setWhatsThis( i18n("Remember this identity, so that it will be used in future composer windows as well.\n"
00256 " ") );
00257 addItem( mStickyIdentityItem, QString::fromLatin1( "StickyIdentity" ) );
00258 mStickyFccItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "sticky-fcc" ), mStickyFcc, false );
00259 mStickyFccItem->setLabel( i18n("sticky-fcc") );
00260 mStickyFccItem->setWhatsThis( i18n("Remember this folder for sent items, so that it will be used in future composer windows as well.") );
00261 addItem( mStickyFccItem, QString::fromLatin1( "StickyFcc" ) );
00262 mStickyTransportItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "sticky-transport" ), mStickyTransport, false );
00263 mStickyTransportItem->setLabel( i18n("sticky-transport") );
00264 mStickyTransportItem->setWhatsThis( i18n("Remember this mail transport, so that it will be used in future composer windows as well.") );
00265 addItem( mStickyTransportItem, QString::fromLatin1( "StickyTransport" ) );
00266 mWordWrapItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "word-wrap" ), mWordWrap, true );
00267 mWordWrapItem->setLabel( i18n("Word &wrap at column:") );
00268 addItem( mWordWrapItem, QString::fromLatin1( "WordWrap" ) );
00269 mUseFixedFontItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "use-fixed-font" ), mUseFixedFont, false );
00270 mUseFixedFontItem->setLabel( i18n("Use Fi&xed Font") );
00271 addItem( mUseFixedFontItem, QString::fromLatin1( "UseFixedFont" ) );
00272 mLineWrapWidthItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "break-at" ), mLineWrapWidth, 78 );
00273 mLineWrapWidthItem->setMinValue(30);
00274 mLineWrapWidthItem->setMaxValue(78);
00275 mLineWrapWidthItem->setLabel( i18n("break-at") );
00276 addItem( mLineWrapWidthItem, QString::fromLatin1( "LineWrapWidth" ) );
00277 mPreviousIdentityItem = new KConfigSkeleton::ItemUInt( currentGroup(), QString::fromLatin1( "previous-identity" ), mPreviousIdentity );
00278 mPreviousIdentityItem->setLabel( i18n("previous-identity") );
00279 addItem( mPreviousIdentityItem, QString::fromLatin1( "PreviousIdentity" ) );
00280 mPreviousFccItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "previous-fcc" ), mPreviousFcc );
00281 mPreviousFccItem->setLabel( i18n("previous-fcc") );
00282 addItem( mPreviousFccItem, QString::fromLatin1( "PreviousFcc" ) );
00283 mTransportHistoryItem = new KConfigSkeleton::ItemStringList( currentGroup(), QString::fromLatin1( "transport-history" ), mTransportHistory );
00284 mTransportHistoryItem->setLabel( i18n("transport-history") );
00285 addItem( mTransportHistoryItem, QString::fromLatin1( "TransportHistory" ) );
00286 mCurrentTransportItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "current-transport" ), mCurrentTransport );
00287 mCurrentTransportItem->setLabel( i18n("current-transport") );
00288 addItem( mCurrentTransportItem, QString::fromLatin1( "CurrentTransport" ) );
00289 mDefaultTransportItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "default-transport" ), mDefaultTransport );
00290 mDefaultTransportItem->setLabel( i18n("default-transport") );
00291 addItem( mDefaultTransportItem, QString::fromLatin1( "DefaultTransport" ) );
00292 mMaxTransportEntriesItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "max-transport-items" ), mMaxTransportEntries, 10 );
00293 mMaxTransportEntriesItem->setLabel( i18n("max-transport-items") );
00294 addItem( mMaxTransportEntriesItem, QString::fromLatin1( "MaxTransportEntries" ) );
00295 mOutlookCompatibleAttachmentsItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "outlook-compatible-attachments" ), mOutlookCompatibleAttachments, false );
00296 mOutlookCompatibleAttachmentsItem->setLabel( i18n("Outlook-compatible attachment naming") );
00297 mOutlookCompatibleAttachmentsItem->setWhatsThis( i18n("Turn this option on to make Outlook ? understand attachment names containing non-English characters") );
00298 addItem( mOutlookCompatibleAttachmentsItem, QString::fromLatin1( "OutlookCompatibleAttachments" ) );
00299 mUseHtmlMarkupItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "html-markup" ), mUseHtmlMarkup, false );
00300 mUseHtmlMarkupItem->setLabel( i18n("html-markup") );
00301 addItem( mUseHtmlMarkupItem, QString::fromLatin1( "UseHtmlMarkup" ) );
00302 mPgpAutoSignItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "pgp-auto-sign" ), mPgpAutoSign, false );
00303 mPgpAutoSignItem->setLabel( i18n("pgp-auto-sign") );
00304 addItem( mPgpAutoSignItem, QString::fromLatin1( "PgpAutoSign" ) );
00305 mPgpAutoEncryptItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "pgp-auto-encrypt" ), mPgpAutoEncrypt, false );
00306 mPgpAutoEncryptItem->setLabel( i18n("pgp-auto-encrypt") );
00307 addItem( mPgpAutoEncryptItem, QString::fromLatin1( "PgpAutoEncrypt" ) );
00308 mNeverEncryptDraftsItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "never-encrypt-drafts" ), mNeverEncryptDrafts, true );
00309 mNeverEncryptDraftsItem->setLabel( i18n("never-encrypt-drafts") );
00310 addItem( mNeverEncryptDraftsItem, QString::fromLatin1( "NeverEncryptDrafts" ) );
00311 mChiasmusKeyItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "chiasmus-key" ), mChiasmusKey );
00312 mChiasmusKeyItem->setLabel( i18n("chiasmus-key") );
00313 addItem( mChiasmusKeyItem, QString::fromLatin1( "ChiasmusKey" ) );
00314 mChiasmusOptionsItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "chiasmus-options" ), mChiasmusOptions );
00315 mChiasmusOptionsItem->setLabel( i18n("chiasmus-options") );
00316 addItem( mChiasmusOptionsItem, QString::fromLatin1( "ChiasmusOptions" ) );
00317 mConfirmBeforeSendItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "confirm-before-send" ), mConfirmBeforeSend, false );
00318 mConfirmBeforeSendItem->setLabel( i18n("Confirm &before send") );
00319 addItem( mConfirmBeforeSendItem, QString::fromLatin1( "ConfirmBeforeSend" ) );
00320 mRequestMDNItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "request-mdn" ), mRequestMDN, false );
00321 mRequestMDNItem->setLabel( i18n("Automatically request &message disposition notifications") );
00322 mRequestMDNItem->setWhatsThis( i18n("<qt><p>Enable this option if you want KMail to request Message Disposition Notifications (MDNs) for each of your outgoing messages.</p><p>This option only affects the default; you can still enable or disable MDN requesting on a per-message basis in the composer, menu item <em>Options</em>-><em>Request Disposition Notification</em>.</p></qt>") );
00323 addItem( mRequestMDNItem, QString::fromLatin1( "RequestMDN" ) );
00324 mShowRecentAddressesInComposerItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "showRecentAddressesInComposer" ), mShowRecentAddressesInComposer, true );
00325 mShowRecentAddressesInComposerItem->setLabel( i18n("Use recent addresses for autocompletion") );
00326 mShowRecentAddressesInComposerItem->setWhatsThis( i18n("Disable this option if you do not want recently used addresses to appear in the autocompletion list in the composer's address fields.") );
00327 addItem( mShowRecentAddressesInComposerItem, QString::fromLatin1( "ShowRecentAddressesInComposer" ) );
00328 mHeadersItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "headers" ), mHeaders, HDR_STANDARD );
00329 mHeadersItem->setLabel( i18n("headers") );
00330 addItem( mHeadersItem, QString::fromLatin1( "Headers" ) );
00331 mCompletionModeItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "Completion Mode" ), mCompletionMode, KGlobalSettings::completionMode() );
00332 mCompletionModeItem->setLabel( i18n("Completion Mode") );
00333 addItem( mCompletionModeItem, QString::fromLatin1( "CompletionMode" ) );
00334 mAutoSpellCheckingItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "autoSpellChecking" ), mAutoSpellChecking, true );
00335 mAutoSpellCheckingItem->setLabel( i18n("autoSpellChecking") );
00336 addItem( mAutoSpellCheckingItem, QString::fromLatin1( "AutoSpellChecking" ) );
00337 mShowForgottenAttachmentWarningItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "showForgottenAttachmentWarning" ), mShowForgottenAttachmentWarning, true );
00338 mShowForgottenAttachmentWarningItem->setLabel( i18n("showForgottenAttachmentWarning") );
00339 addItem( mShowForgottenAttachmentWarningItem, QString::fromLatin1( "ShowForgottenAttachmentWarning" ) );
00340 mAttachmentKeywordsItem = new KConfigSkeleton::ItemStringList( currentGroup(), QString::fromLatin1( "attachment-keywords" ), mAttachmentKeywords );
00341 mAttachmentKeywordsItem->setLabel( i18n("attachment-keywords") );
00342 addItem( mAttachmentKeywordsItem, QString::fromLatin1( "AttachmentKeywords" ) );
00343 mShowMessagePartDialogOnAttachItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "showMessagePartDialogOnAttach" ), mShowMessagePartDialogOnAttach, false );
00344 mShowMessagePartDialogOnAttachItem->setLabel( i18n("showMessagePartDialogOnAttach") );
00345 addItem( mShowMessagePartDialogOnAttachItem, QString::fromLatin1( "ShowMessagePartDialogOnAttach" ) );
00346 mAutosaveIntervalItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "autosave" ), mAutosaveInterval, 2 );
00347 mAutosaveIntervalItem->setLabel( i18n("Autosave interval:") );
00348 mAutosaveIntervalItem->setWhatsThis( i18n("A backup copy of the text in the composer window can be created regularly. The interval used to create the backups is set here. You can disable autosaving by setting it to the value 0.") );
00349 addItem( mAutosaveIntervalItem, QString::fromLatin1( "AutosaveInterval" ) );
00350 QStringList defaultReplyPrefixes;
00351 defaultReplyPrefixes.append( QString::fromUtf8( "Re\\s*:" ) );
00352 defaultReplyPrefixes.append( QString::fromUtf8( "Re\\[\\d+\\]:" ) );
00353 defaultReplyPrefixes.append( QString::fromUtf8( "Re\\d+:" ) );
00354
00355 mReplyPrefixesItem = new KConfigSkeleton::ItemStringList( currentGroup(), QString::fromLatin1( "reply-prefixes" ), mReplyPrefixes, defaultReplyPrefixes );
00356 mReplyPrefixesItem->setLabel( i18n("reply-prefixes") );
00357 addItem( mReplyPrefixesItem, QString::fromLatin1( "ReplyPrefixes" ) );
00358 mReplaceReplyPrefixItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "replace-reply-prefix" ), mReplaceReplyPrefix, true );
00359 mReplaceReplyPrefixItem->setLabel( i18n("Replace recognized prefi&x with \"Re:\"") );
00360 addItem( mReplaceReplyPrefixItem, QString::fromLatin1( "ReplaceReplyPrefix" ) );
00361 QStringList defaultForwardPrefixes;
00362 defaultForwardPrefixes.append( QString::fromUtf8( "Fwd:" ) );
00363 defaultForwardPrefixes.append( QString::fromUtf8( "FW:" ) );
00364
00365 mForwardPrefixesItem = new KConfigSkeleton::ItemStringList( currentGroup(), QString::fromLatin1( "forward-prefixes" ), mForwardPrefixes, defaultForwardPrefixes );
00366 mForwardPrefixesItem->setLabel( i18n("forward-prefixes") );
00367 addItem( mForwardPrefixesItem, QString::fromLatin1( "ForwardPrefixes" ) );
00368 mReplaceForwardPrefixItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "replace-forward-prefix" ), mReplaceForwardPrefix, true );
00369 mReplaceForwardPrefixItem->setLabel( i18n("Replace recognized prefix with \"&Fwd:\"") );
00370 addItem( mReplaceForwardPrefixItem, QString::fromLatin1( "ReplaceForwardPrefix" ) );
00371 mSmartQuoteItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "smart-quote" ), mSmartQuote, true );
00372 mSmartQuoteItem->setLabel( i18n("Use smart "ing") );
00373 addItem( mSmartQuoteItem, QString::fromLatin1( "SmartQuote" ) );
00374 QValueList<KConfigSkeleton::ItemEnum::Choice> valuesAddresseeSelectorType;
00375 {
00376 KConfigSkeleton::ItemEnum::Choice choice;
00377 choice.name = QString::fromLatin1( "New" );
00378 valuesAddresseeSelectorType.append( choice );
00379 }
00380 {
00381 KConfigSkeleton::ItemEnum::Choice choice;
00382 choice.name = QString::fromLatin1( "Old" );
00383 valuesAddresseeSelectorType.append( choice );
00384 }
00385 mAddresseeSelectorTypeItem = new KConfigSkeleton::ItemEnum( currentGroup(), QString::fromLatin1( "AddresseeSelectorType" ), mAddresseeSelectorType, valuesAddresseeSelectorType, EnumAddresseeSelectorType::Old );
00386 mAddresseeSelectorTypeItem->setLabel( i18n("Type of addressee selector") );
00387 mAddresseeSelectorTypeItem->setWhatsThis( i18n("Sets the type of the dialog for selecting recipients for To,\n"
00388 " CC and BCC.") );
00389 addItem( mAddresseeSelectorTypeItem, QString::fromLatin1( "AddresseeSelectorType" ) );
00390 QValueList<KConfigSkeleton::ItemEnum::Choice> valuesRecipientsEditorType;
00391 {
00392 KConfigSkeleton::ItemEnum::Choice choice;
00393 choice.name = QString::fromLatin1( "Classic" );
00394 valuesRecipientsEditorType.append( choice );
00395 }
00396 {
00397 KConfigSkeleton::ItemEnum::Choice choice;
00398 choice.name = QString::fromLatin1( "MultiLine" );
00399 valuesRecipientsEditorType.append( choice );
00400 }
00401 mRecipientsEditorTypeItem = new KConfigSkeleton::ItemEnum( currentGroup(), QString::fromLatin1( "RecipientsEditorType" ), mRecipientsEditorType, valuesRecipientsEditorType, EnumRecipientsEditorType::MultiLine );
00402 mRecipientsEditorTypeItem->setLabel( i18n("Type of recipients editor") );
00403 mRecipientsEditorTypeItem->setWhatsThis( i18n("Sets the type of the recipients editor for editing To,\n"
00404 " CC and BCC.") );
00405 addItem( mRecipientsEditorTypeItem, QString::fromLatin1( "RecipientsEditorType" ) );
00406 QValueList<KConfigSkeleton::ItemEnum::Choice> valuesSecondRecipientTypeDefault;
00407 {
00408 KConfigSkeleton::ItemEnum::Choice choice;
00409 choice.name = QString::fromLatin1( "To" );
00410 valuesSecondRecipientTypeDefault.append( choice );
00411 }
00412 {
00413 KConfigSkeleton::ItemEnum::Choice choice;
00414 choice.name = QString::fromLatin1( "Cc" );
00415 valuesSecondRecipientTypeDefault.append( choice );
00416 }
00417 mSecondRecipientTypeDefaultItem = new KConfigSkeleton::ItemEnum( currentGroup(), QString::fromLatin1( "SecondRecipientTypeDefault" ), mSecondRecipientTypeDefault, valuesSecondRecipientTypeDefault, EnumSecondRecipientTypeDefault::To );
00418 mSecondRecipientTypeDefaultItem->setLabel( i18n("SecondRecipientTypeDefault") );
00419 addItem( mSecondRecipientTypeDefaultItem, QString::fromLatin1( "SecondRecipientTypeDefault" ) );
00420 mMaximumRecipientsItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "MaximumRecipients" ), mMaximumRecipients, 200 );
00421 mMaximumRecipientsItem->setLabel( i18n("Maximum number of recipient editor lines.") );
00422 addItem( mMaximumRecipientsItem, QString::fromLatin1( "MaximumRecipients" ) );
00423
00424 setCurrentGroup( QString::fromLatin1( "Fonts" ) );
00425
00426 mUseDefaultFontsItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "defaultFonts" ), mUseDefaultFonts, true );
00427 mUseDefaultFontsItem->setLabel( i18n("defaultFonts") );
00428 addItem( mUseDefaultFontsItem, QString::fromLatin1( "UseDefaultFonts" ) );
00429 mComposerFontItem = new KConfigSkeleton::ItemFont( currentGroup(), QString::fromLatin1( "composer-font" ), mComposerFont, KGlobalSettings::generalFont() );
00430 mComposerFontItem->setLabel( i18n("composer-font") );
00431 addItem( mComposerFontItem, QString::fromLatin1( "ComposerFont" ) );
00432 mFixedFontItem = new KConfigSkeleton::ItemFont( currentGroup(), QString::fromLatin1( "fixed-font" ), mFixedFont, KGlobalSettings::fixedFont() );
00433 mFixedFontItem->setLabel( i18n("fixed-font") );
00434 addItem( mFixedFontItem, QString::fromLatin1( "FixedFont" ) );
00435
00436 setCurrentGroup( QString::fromLatin1( "Geometry" ) );
00437
00438 mComposerSizeItem = new KConfigSkeleton::ItemSize( currentGroup(), QString::fromLatin1( "composer" ), mComposerSize, QSize(480,510) );
00439 mComposerSizeItem->setLabel( i18n("composer") );
00440 addItem( mComposerSizeItem, QString::fromLatin1( "ComposerSize" ) );
00441
00442 setCurrentGroup( QString::fromLatin1( "Reader" ) );
00443
00444 mUseDefaultColorsItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "defaultColors" ), mUseDefaultColors, true );
00445 mUseDefaultColorsItem->setLabel( i18n("defaultColors") );
00446 addItem( mUseDefaultColorsItem, QString::fromLatin1( "UseDefaultColors" ) );
00447 mForegroundColorItem = new KConfigSkeleton::ItemColor( currentGroup(), QString::fromLatin1( "ForegroundColor" ), mForegroundColor, kapp->palette().active().text() );
00448 mForegroundColorItem->setLabel( i18n("ForegroundColor") );
00449 addItem( mForegroundColorItem, QString::fromLatin1( "ForegroundColor" ) );
00450 mBackgroundColorItem = new KConfigSkeleton::ItemColor( currentGroup(), QString::fromLatin1( "BackgroundColor" ), mBackgroundColor, kapp->palette().active().base() );
00451 mBackgroundColorItem->setLabel( i18n("BackgroundColor") );
00452 addItem( mBackgroundColorItem, QString::fromLatin1( "BackgroundColor" ) );
00453 mFallbackCharacterEncodingItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "FallbackCharacterEncoding" ), mFallbackCharacterEncoding, QCString(QTextCodec::codecForLocale()->name()).lower() == "eucjp"? QCString("jis7") : QCString(QTextCodec::codecForLocale()->name()).lower() );
00454 mFallbackCharacterEncodingItem->setLabel( i18n("FallbackCharacterEncoding") );
00455 mFallbackCharacterEncodingItem->setWhatsThis( i18n("Some emails, especially those generated automatically, do not specify the character encoding which needs to be used to properly display them. In such cases a fallback character encoding will be used, which you can configure here. Set it to the character encoding most commonly used in your part of the world. As a default the encoding configured for the whole system is used.") );
00456 addItem( mFallbackCharacterEncodingItem, QString::fromLatin1( "FallbackCharacterEncoding" ) );
00457 mOverrideCharacterEncodingItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "encoding" ), mOverrideCharacterEncoding );
00458 mOverrideCharacterEncodingItem->setLabel( i18n("encoding") );
00459 mOverrideCharacterEncodingItem->setWhatsThis( i18n("Changing this from its default 'Auto' will force the use of the specified encoding for all emails, regardless of what they specify themselves.") );
00460 addItem( mOverrideCharacterEncodingItem, QString::fromLatin1( "OverrideCharacterEncoding" ) );
00461 mShowEmoticonsItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "ShowEmoticons" ), mShowEmoticons, true );
00462 mShowEmoticonsItem->setLabel( i18n("Replace smileys by emoticons") );
00463 mShowEmoticonsItem->setWhatsThis( i18n("Enable this if you want smileys like :-) appearing in the message text to be replaced by emoticons (small pictures).") );
00464 addItem( mShowEmoticonsItem, QString::fromLatin1( "ShowEmoticons" ) );
00465 mShowExpandQuotesMarkItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "ShowExpandQuotesMark" ), mShowExpandQuotesMark, false );
00466 mShowExpandQuotesMarkItem->setLabel( i18n("Show expand/collapse quote marks") );
00467 mShowExpandQuotesMarkItem->setWhatsThis( i18n("Enable this option to show different levels of quoted text. Disable to hide the levels of quoted text.") );
00468 addItem( mShowExpandQuotesMarkItem, QString::fromLatin1( "ShowExpandQuotesMark" ) );
00469 mCollapseQuoteLevelSpinItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "CollapseQuoteLevelSpin" ), mCollapseQuoteLevelSpin, 3 );
00470 mCollapseQuoteLevelSpinItem->setMinValue(0);
00471 mCollapseQuoteLevelSpinItem->setMaxValue(10);
00472 mCollapseQuoteLevelSpinItem->setLabel( i18n("Automatic collapse level:") );
00473 addItem( mCollapseQuoteLevelSpinItem, QString::fromLatin1( "CollapseQuoteLevelSpin" ) );
00474 mShrinkQuotesItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "ShrinkQuotes" ), mShrinkQuotes, false );
00475 mShrinkQuotesItem->setLabel( i18n("Reduce font size for quoted text") );
00476 mShrinkQuotesItem->setWhatsThis( i18n("Enable this option to show quoted text with a smaller font.") );
00477 addItem( mShrinkQuotesItem, QString::fromLatin1( "ShrinkQuotes" ) );
00478 mChiasmusDecryptionKeyItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "ChiasmusDecryptionKey" ), mChiasmusDecryptionKey );
00479 mChiasmusDecryptionKeyItem->setLabel( i18n("ChiasmusDecryptionKey") );
00480 addItem( mChiasmusDecryptionKeyItem, QString::fromLatin1( "ChiasmusDecryptionKey" ) );
00481 mChiasmusDecryptionOptionsItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "ChiasmusDecryptionOptions" ), mChiasmusDecryptionOptions );
00482 mChiasmusDecryptionOptionsItem->setLabel( i18n("ChiasmusDecryptionOptions") );
00483 addItem( mChiasmusDecryptionOptionsItem, QString::fromLatin1( "ChiasmusDecryptionOptions" ) );
00484
00485 setCurrentGroup( QString::fromLatin1( "TextIndex" ) );
00486
00487 mAutomaticDecryptItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "automaticDecrypt" ), mAutomaticDecrypt, true );
00488 mAutomaticDecryptItem->setLabel( i18n("automaticDecrypt") );
00489 addItem( mAutomaticDecryptItem, QString::fromLatin1( "automaticDecrypt" ) );
00490
00491 setCurrentGroup( QString::fromLatin1( "MDN" ) );
00492
00493 mSendMDNsWithEmptySenderItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "SendMDNsWithEmptySender" ), mSendMDNsWithEmptySender, false );
00494 mSendMDNsWithEmptySenderItem->setLabel( i18n("Send Message Disposition Notifications with an empty sender.") );
00495 mSendMDNsWithEmptySenderItem->setWhatsThis( i18n("Send Message Disposition Notifications with an empty sender string. Some servers might be configure to reject such messages, so if you are experiencing problems sending MDNs, uncheck this option.") );
00496 addItem( mSendMDNsWithEmptySenderItem, QString::fromLatin1( "SendMDNsWithEmptySender" ) );
00497 }
00498
00499 GlobalSettingsBase::~GlobalSettingsBase()
00500 {
00501 if ( mSelf == this )
00502 staticGlobalSettingsBaseDeleter.setObject( mSelf, 0, false );
00503 }
00504