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 QValueList<KConfigSkeleton::ItemEnum::Choice> valuesQuotaUnit;
00121 {
00122 KConfigSkeleton::ItemEnum::Choice choice;
00123 choice.name = QString::fromLatin1( "KB" );
00124 valuesQuotaUnit.append( choice );
00125 }
00126 {
00127 KConfigSkeleton::ItemEnum::Choice choice;
00128 choice.name = QString::fromLatin1( "MB" );
00129 valuesQuotaUnit.append( choice );
00130 }
00131 {
00132 KConfigSkeleton::ItemEnum::Choice choice;
00133 choice.name = QString::fromLatin1( "GB" );
00134 valuesQuotaUnit.append( choice );
00135 }
00136 mQuotaUnitItem = new KConfigSkeleton::ItemEnum( currentGroup(), QString::fromLatin1( "QuotaUnit" ), mQuotaUnit, valuesQuotaUnit, EnumQuotaUnit::KB );
00137 mQuotaUnitItem->setLabel( i18n("QuotaUnit") );
00138 addItem( mQuotaUnitItem, QString::fromLatin1( "QuotaUnit" ) );
00139
00140 setCurrentGroup( QString::fromLatin1( "General" ) );
00141
00142 mSystemTrayEnabledItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "SystemTrayEnabled" ), mSystemTrayEnabled, false );
00143 mSystemTrayEnabledItem->setLabel( i18n("Enable system tray icon") );
00144 addItem( mSystemTrayEnabledItem, QString::fromLatin1( "SystemTrayEnabled" ) );
00145 QValueList<KConfigSkeleton::ItemEnum::Choice> valuesSystemTrayPolicy;
00146 {
00147 KConfigSkeleton::ItemEnum::Choice choice;
00148 choice.name = QString::fromLatin1( "ShowAlways" );
00149 valuesSystemTrayPolicy.append( choice );
00150 }
00151 {
00152 KConfigSkeleton::ItemEnum::Choice choice;
00153 choice.name = QString::fromLatin1( "ShowOnUnread" );
00154 valuesSystemTrayPolicy.append( choice );
00155 }
00156 mSystemTrayPolicyItem = new KConfigSkeleton::ItemEnum( currentGroup(), QString::fromLatin1( "SystemTrayPolicy" ), mSystemTrayPolicy, valuesSystemTrayPolicy, EnumSystemTrayPolicy::ShowOnUnread );
00157 mSystemTrayPolicyItem->setLabel( i18n("Policy for showing the system tray icon") );
00158 addItem( mSystemTrayPolicyItem, QString::fromLatin1( "SystemTrayPolicy" ) );
00159 mVerboseNewMailNotificationItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "VerboseNewMailNotification" ), mVerboseNewMailNotification, true );
00160 mVerboseNewMailNotificationItem->setLabel( i18n("Verbose new mail notification") );
00161 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.") );
00162 addItem( mVerboseNewMailNotificationItem, QString::fromLatin1( "VerboseNewMailNotification" ) );
00163 mExternalEditorItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "external-editor" ), mExternalEditor, QString::fromLatin1( "kate %f" ) );
00164 mExternalEditorItem->setLabel( i18n("Specify e&ditor:") );
00165 addItem( mExternalEditorItem, QString::fromLatin1( "ExternalEditor" ) );
00166 mUseExternalEditorItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "use-external-editor" ), mUseExternalEditor, false );
00167 mUseExternalEditorItem->setLabel( i18n("Use e&xternal editor instead of composer") );
00168 addItem( mUseExternalEditorItem, QString::fromLatin1( "UseExternalEditor" ) );
00169 mCustHeaderCountItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "mime-header-count" ), mCustHeaderCount );
00170 mCustHeaderCountItem->setLabel( i18n("mime-header-count") );
00171 addItem( mCustHeaderCountItem, QString::fromLatin1( "CustHeaderCount" ) );
00172 mReplyCurrentLanguageItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "reply-current-language" ), mReplyCurrentLanguage, 0 );
00173 mReplyCurrentLanguageItem->setLabel( i18n("reply-current-language") );
00174 addItem( mReplyCurrentLanguageItem, QString::fromLatin1( "ReplyCurrentLanguage" ) );
00175 mReplyLanguagesCountItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "reply-languages" ), mReplyLanguagesCount, 0 );
00176 mReplyLanguagesCountItem->setMinValue(0);
00177 mReplyLanguagesCountItem->setLabel( i18n("reply-languages") );
00178 addItem( mReplyLanguagesCountItem, QString::fromLatin1( "ReplyLanguagesCount" ) );
00179 mFolderLoadingTimeoutItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "FolderLoadingTimeout" ), mFolderLoadingTimeout, 1000 );
00180 mFolderLoadingTimeoutItem->setLabel( i18n("FolderLoadingTimeout") );
00181 addItem( mFolderLoadingTimeoutItem, QString::fromLatin1( "FolderLoadingTimeout" ) );
00182
00183 setCurrentGroup( QString::fromLatin1( "Groupware" ) );
00184
00185 mGroupwareEnabledItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "GroupwareEnabled" ), mGroupwareEnabled, true );
00186 mGroupwareEnabledItem->setLabel( i18n("Enable groupware functionality") );
00187 addItem( mGroupwareEnabledItem, QString::fromLatin1( "GroupwareEnabled" ) );
00188 mLegacyMangleFromToHeadersItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "LegacyMangleFromToHeaders" ), mLegacyMangleFromToHeaders, false );
00189 mLegacyMangleFromToHeadersItem->setLabel( i18n("Mangle From:/To: headers in replies to replies") );
00190 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.") );
00191 addItem( mLegacyMangleFromToHeadersItem, QString::fromLatin1( "LegacyMangleFromToHeaders" ) );
00192 mLegacyBodyInvitesItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "LegacyBodyInvites" ), mLegacyBodyInvites, false );
00193 mLegacyBodyInvitesItem->setLabel( i18n("Send groupware invitations in the mail body") );
00194 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.") );
00195 addItem( mLegacyBodyInvitesItem, QString::fromLatin1( "LegacyBodyInvites" ) );
00196 mAutomaticSendingItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "AutomaticSending" ), mAutomaticSending, true );
00197 mAutomaticSendingItem->setLabel( i18n("Automatic invitation sending") );
00198 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.") );
00199 addItem( mAutomaticSendingItem, QString::fromLatin1( "AutomaticSending" ) );
00200
00201 setCurrentGroup( QString::fromLatin1( "IMAP Resource" ) );
00202
00203 mTheIMAPResourceEnabledItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "TheIMAPResourceEnabled" ), mTheIMAPResourceEnabled, false );
00204 mTheIMAPResourceEnabledItem->setLabel( i18n("TheIMAPResourceEnabled") );
00205 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>") );
00206 addItem( mTheIMAPResourceEnabledItem, QString::fromLatin1( "TheIMAPResourceEnabled" ) );
00207 mHideGroupwareFoldersItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "HideGroupwareFolders" ), mHideGroupwareFolders, true );
00208 mHideGroupwareFoldersItem->setLabel( i18n("HideGroupwareFolders") );
00209 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>") );
00210 addItem( mHideGroupwareFoldersItem, QString::fromLatin1( "HideGroupwareFolders" ) );
00211 QValueList<KConfigSkeleton::ItemEnum::Choice> valuesTheIMAPResourceStorageFormat;
00212 {
00213 KConfigSkeleton::ItemEnum::Choice choice;
00214 choice.name = QString::fromLatin1( "IcalVcard" );
00215 valuesTheIMAPResourceStorageFormat.append( choice );
00216 }
00217 {
00218 KConfigSkeleton::ItemEnum::Choice choice;
00219 choice.name = QString::fromLatin1( "XML" );
00220 valuesTheIMAPResourceStorageFormat.append( choice );
00221 }
00222 mTheIMAPResourceStorageFormatItem = new KConfigSkeleton::ItemEnum( currentGroup(), QString::fromLatin1( "TheIMAPResourceStorageFormat" ), mTheIMAPResourceStorageFormat, valuesTheIMAPResourceStorageFormat, EnumTheIMAPResourceStorageFormat::IcalVcard );
00223 mTheIMAPResourceStorageFormatItem->setLabel( i18n("TheIMAPResourceStorageFormat") );
00224 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>") );
00225 addItem( mTheIMAPResourceStorageFormatItem, QString::fromLatin1( "TheIMAPResourceStorageFormat" ) );
00226 mTheIMAPResourceFolderParentItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "TheIMAPResourceFolderParent" ), mTheIMAPResourceFolderParent, QString::fromLatin1( "inbox" ) );
00227 mTheIMAPResourceFolderParentItem->setLabel( i18n("TheIMAPResourceFolderParent") );
00228 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>") );
00229 addItem( mTheIMAPResourceFolderParentItem, QString::fromLatin1( "TheIMAPResourceFolderParent" ) );
00230 mTheIMAPResourceAccountItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "TheIMAPResourceAccount" ), mTheIMAPResourceAccount );
00231 mTheIMAPResourceAccountItem->setLabel( i18n("TheIMAPResourceAccount") );
00232 mTheIMAPResourceAccountItem->setWhatsThis( i18n("<p>This is the ID of the account holding the IMAP resource folders.</p>") );
00233 addItem( mTheIMAPResourceAccountItem, QString::fromLatin1( "TheIMAPResourceAccount" ) );
00234 mTheIMAPResourceFolderLanguageItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "TheIMAPResourceFolderLanguage" ), mTheIMAPResourceFolderLanguage, 0 );
00235 mTheIMAPResourceFolderLanguageItem->setLabel( i18n("TheIMAPResourceFolderLanguage") );
00236 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>") );
00237 addItem( mTheIMAPResourceFolderLanguageItem, QString::fromLatin1( "TheIMAPResourceFolderLanguage" ) );
00238
00239 setCurrentGroup( QString::fromLatin1( "Internal" ) );
00240
00241 mMsgDictSizeHintItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "MsgDictSizeHint" ), mMsgDictSizeHint, 9973 );
00242 mMsgDictSizeHintItem->setLabel( i18n("MsgDictSizeHint") );
00243 addItem( mMsgDictSizeHintItem, QString::fromLatin1( "MsgDictSizeHint" ) );
00244 mPreviousNewFeaturesMD5Item = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "PreviousNewFeaturesMD5" ), mPreviousNewFeaturesMD5 );
00245 mPreviousNewFeaturesMD5Item->setLabel( i18n("PreviousNewFeaturesMD5") );
00246 mPreviousNewFeaturesMD5Item->setWhatsThis( i18n("This value is used to decide whether the KMail Introduction should be displayed.") );
00247 addItem( mPreviousNewFeaturesMD5Item, QString::fromLatin1( "PreviousNewFeaturesMD5" ) );
00248
00249 setCurrentGroup( QString::fromLatin1( "Network" ) );
00250
00251 mMaxConnectionsPerHostItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "MaxConnectionsPerHost" ), mMaxConnectionsPerHost, 0 );
00252 mMaxConnectionsPerHostItem->setMinValue(0);
00253 mMaxConnectionsPerHostItem->setLabel( i18n("Maximal number of connections per host") );
00254 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).") );
00255 addItem( mMaxConnectionsPerHostItem, QString::fromLatin1( "MaxConnectionsPerHost" ) );
00256
00257 setCurrentGroup( QString::fromLatin1( "UserInterface" ) );
00258
00259 mQuickSearchActiveItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "QuickSearchActive" ), mQuickSearchActive, true );
00260 mQuickSearchActiveItem->setLabel( i18n("Show quick search line edit") );
00261 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.") );
00262 addItem( mQuickSearchActiveItem, QString::fromLatin1( "QuickSearchActive" ) );
00263
00264 setCurrentGroup( QString::fromLatin1( "Composer" ) );
00265
00266 mForceReplyCharsetItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "force-reply-charset" ), mForceReplyCharset, false );
00267 mForceReplyCharsetItem->setLabel( i18n("Keep original charset when replying or forwarding if possible") );
00268 addItem( mForceReplyCharsetItem, QString::fromLatin1( "ForceReplyCharset" ) );
00269 mAutoTextSignatureItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "signature" ), mAutoTextSignature, QString::fromLatin1( "auto" ) );
00270 mAutoTextSignatureItem->setLabel( i18n("A&utomatically append signature") );
00271 addItem( mAutoTextSignatureItem, QString::fromLatin1( "AutoTextSignature" ) );
00272 mStickyIdentityItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "sticky-identity" ), mStickyIdentity, false );
00273 mStickyIdentityItem->setLabel( i18n("sticky-identity") );
00274 mStickyIdentityItem->setWhatsThis( i18n("Remember this identity, so that it will be used in future composer windows as well.\n"
00275 " ") );
00276 addItem( mStickyIdentityItem, QString::fromLatin1( "StickyIdentity" ) );
00277 mStickyFccItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "sticky-fcc" ), mStickyFcc, false );
00278 mStickyFccItem->setLabel( i18n("sticky-fcc") );
00279 mStickyFccItem->setWhatsThis( i18n("Remember this folder for sent items, so that it will be used in future composer windows as well.") );
00280 addItem( mStickyFccItem, QString::fromLatin1( "StickyFcc" ) );
00281 mStickyTransportItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "sticky-transport" ), mStickyTransport, false );
00282 mStickyTransportItem->setLabel( i18n("sticky-transport") );
00283 mStickyTransportItem->setWhatsThis( i18n("Remember this mail transport, so that it will be used in future composer windows as well.") );
00284 addItem( mStickyTransportItem, QString::fromLatin1( "StickyTransport" ) );
00285 mWordWrapItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "word-wrap" ), mWordWrap, true );
00286 mWordWrapItem->setLabel( i18n("Word &wrap at column:") );
00287 addItem( mWordWrapItem, QString::fromLatin1( "WordWrap" ) );
00288 mUseFixedFontItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "use-fixed-font" ), mUseFixedFont, false );
00289 mUseFixedFontItem->setLabel( i18n("Use Fi&xed Font") );
00290 addItem( mUseFixedFontItem, QString::fromLatin1( "UseFixedFont" ) );
00291 mLineWrapWidthItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "break-at" ), mLineWrapWidth, 78 );
00292 mLineWrapWidthItem->setMinValue(30);
00293 mLineWrapWidthItem->setMaxValue(78);
00294 mLineWrapWidthItem->setLabel( i18n("break-at") );
00295 addItem( mLineWrapWidthItem, QString::fromLatin1( "LineWrapWidth" ) );
00296 mPreviousIdentityItem = new KConfigSkeleton::ItemUInt( currentGroup(), QString::fromLatin1( "previous-identity" ), mPreviousIdentity );
00297 mPreviousIdentityItem->setLabel( i18n("previous-identity") );
00298 addItem( mPreviousIdentityItem, QString::fromLatin1( "PreviousIdentity" ) );
00299 mPreviousFccItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "previous-fcc" ), mPreviousFcc );
00300 mPreviousFccItem->setLabel( i18n("previous-fcc") );
00301 addItem( mPreviousFccItem, QString::fromLatin1( "PreviousFcc" ) );
00302 mTransportHistoryItem = new KConfigSkeleton::ItemStringList( currentGroup(), QString::fromLatin1( "transport-history" ), mTransportHistory );
00303 mTransportHistoryItem->setLabel( i18n("transport-history") );
00304 addItem( mTransportHistoryItem, QString::fromLatin1( "TransportHistory" ) );
00305 mCurrentTransportItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "current-transport" ), mCurrentTransport );
00306 mCurrentTransportItem->setLabel( i18n("current-transport") );
00307 addItem( mCurrentTransportItem, QString::fromLatin1( "CurrentTransport" ) );
00308 mDefaultTransportItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "default-transport" ), mDefaultTransport );
00309 mDefaultTransportItem->setLabel( i18n("default-transport") );
00310 addItem( mDefaultTransportItem, QString::fromLatin1( "DefaultTransport" ) );
00311 mMaxTransportEntriesItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "max-transport-items" ), mMaxTransportEntries, 10 );
00312 mMaxTransportEntriesItem->setLabel( i18n("max-transport-items") );
00313 addItem( mMaxTransportEntriesItem, QString::fromLatin1( "MaxTransportEntries" ) );
00314 mOutlookCompatibleAttachmentsItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "outlook-compatible-attachments" ), mOutlookCompatibleAttachments, false );
00315 mOutlookCompatibleAttachmentsItem->setLabel( i18n("Outlook-compatible attachment naming") );
00316 mOutlookCompatibleAttachmentsItem->setWhatsThis( i18n("Turn this option on to make Outlook ? understand attachment names containing non-English characters") );
00317 addItem( mOutlookCompatibleAttachmentsItem, QString::fromLatin1( "OutlookCompatibleAttachments" ) );
00318 mUseHtmlMarkupItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "html-markup" ), mUseHtmlMarkup, false );
00319 mUseHtmlMarkupItem->setLabel( i18n("html-markup") );
00320 addItem( mUseHtmlMarkupItem, QString::fromLatin1( "UseHtmlMarkup" ) );
00321 mPgpAutoSignItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "pgp-auto-sign" ), mPgpAutoSign, false );
00322 mPgpAutoSignItem->setLabel( i18n("pgp-auto-sign") );
00323 addItem( mPgpAutoSignItem, QString::fromLatin1( "PgpAutoSign" ) );
00324 mPgpAutoEncryptItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "pgp-auto-encrypt" ), mPgpAutoEncrypt, false );
00325 mPgpAutoEncryptItem->setLabel( i18n("pgp-auto-encrypt") );
00326 addItem( mPgpAutoEncryptItem, QString::fromLatin1( "PgpAutoEncrypt" ) );
00327 mNeverEncryptDraftsItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "never-encrypt-drafts" ), mNeverEncryptDrafts, true );
00328 mNeverEncryptDraftsItem->setLabel( i18n("never-encrypt-drafts") );
00329 addItem( mNeverEncryptDraftsItem, QString::fromLatin1( "NeverEncryptDrafts" ) );
00330 mChiasmusKeyItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "chiasmus-key" ), mChiasmusKey );
00331 mChiasmusKeyItem->setLabel( i18n("chiasmus-key") );
00332 addItem( mChiasmusKeyItem, QString::fromLatin1( "ChiasmusKey" ) );
00333 mChiasmusOptionsItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "chiasmus-options" ), mChiasmusOptions );
00334 mChiasmusOptionsItem->setLabel( i18n("chiasmus-options") );
00335 addItem( mChiasmusOptionsItem, QString::fromLatin1( "ChiasmusOptions" ) );
00336 mConfirmBeforeSendItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "confirm-before-send" ), mConfirmBeforeSend, false );
00337 mConfirmBeforeSendItem->setLabel( i18n("Confirm &before send") );
00338 addItem( mConfirmBeforeSendItem, QString::fromLatin1( "ConfirmBeforeSend" ) );
00339 mRequestMDNItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "request-mdn" ), mRequestMDN, false );
00340 mRequestMDNItem->setLabel( i18n("Automatically request &message disposition notifications") );
00341 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>") );
00342 addItem( mRequestMDNItem, QString::fromLatin1( "RequestMDN" ) );
00343 mShowRecentAddressesInComposerItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "showRecentAddressesInComposer" ), mShowRecentAddressesInComposer, true );
00344 mShowRecentAddressesInComposerItem->setLabel( i18n("Use recent addresses for autocompletion") );
00345 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.") );
00346 addItem( mShowRecentAddressesInComposerItem, QString::fromLatin1( "ShowRecentAddressesInComposer" ) );
00347 mHeadersItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "headers" ), mHeaders, HDR_STANDARD );
00348 mHeadersItem->setLabel( i18n("headers") );
00349 addItem( mHeadersItem, QString::fromLatin1( "Headers" ) );
00350 mCompletionModeItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "Completion Mode" ), mCompletionMode, KGlobalSettings::completionMode() );
00351 mCompletionModeItem->setLabel( i18n("Completion Mode") );
00352 addItem( mCompletionModeItem, QString::fromLatin1( "CompletionMode" ) );
00353 mAutoSpellCheckingItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "autoSpellChecking" ), mAutoSpellChecking, true );
00354 mAutoSpellCheckingItem->setLabel( i18n("autoSpellChecking") );
00355 addItem( mAutoSpellCheckingItem, QString::fromLatin1( "AutoSpellChecking" ) );
00356 mShowForgottenAttachmentWarningItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "showForgottenAttachmentWarning" ), mShowForgottenAttachmentWarning, true );
00357 mShowForgottenAttachmentWarningItem->setLabel( i18n("showForgottenAttachmentWarning") );
00358 addItem( mShowForgottenAttachmentWarningItem, QString::fromLatin1( "ShowForgottenAttachmentWarning" ) );
00359 mAttachmentKeywordsItem = new KConfigSkeleton::ItemStringList( currentGroup(), QString::fromLatin1( "attachment-keywords" ), mAttachmentKeywords );
00360 mAttachmentKeywordsItem->setLabel( i18n("attachment-keywords") );
00361 addItem( mAttachmentKeywordsItem, QString::fromLatin1( "AttachmentKeywords" ) );
00362 mShowMessagePartDialogOnAttachItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "showMessagePartDialogOnAttach" ), mShowMessagePartDialogOnAttach, false );
00363 mShowMessagePartDialogOnAttachItem->setLabel( i18n("showMessagePartDialogOnAttach") );
00364 addItem( mShowMessagePartDialogOnAttachItem, QString::fromLatin1( "ShowMessagePartDialogOnAttach" ) );
00365 mAutosaveIntervalItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "autosave" ), mAutosaveInterval, 2 );
00366 mAutosaveIntervalItem->setLabel( i18n("Autosave interval:") );
00367 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.") );
00368 addItem( mAutosaveIntervalItem, QString::fromLatin1( "AutosaveInterval" ) );
00369 QStringList defaultReplyPrefixes;
00370 defaultReplyPrefixes.append( QString::fromUtf8( "Re\\s*:" ) );
00371 defaultReplyPrefixes.append( QString::fromUtf8( "Re\\[\\d+\\]:" ) );
00372 defaultReplyPrefixes.append( QString::fromUtf8( "Re\\d+:" ) );
00373
00374 mReplyPrefixesItem = new KConfigSkeleton::ItemStringList( currentGroup(), QString::fromLatin1( "reply-prefixes" ), mReplyPrefixes, defaultReplyPrefixes );
00375 mReplyPrefixesItem->setLabel( i18n("reply-prefixes") );
00376 addItem( mReplyPrefixesItem, QString::fromLatin1( "ReplyPrefixes" ) );
00377 mReplaceReplyPrefixItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "replace-reply-prefix" ), mReplaceReplyPrefix, true );
00378 mReplaceReplyPrefixItem->setLabel( i18n("Replace recognized prefi&x with \"Re:\"") );
00379 addItem( mReplaceReplyPrefixItem, QString::fromLatin1( "ReplaceReplyPrefix" ) );
00380 QStringList defaultForwardPrefixes;
00381 defaultForwardPrefixes.append( QString::fromUtf8( "Fwd:" ) );
00382 defaultForwardPrefixes.append( QString::fromUtf8( "FW:" ) );
00383
00384 mForwardPrefixesItem = new KConfigSkeleton::ItemStringList( currentGroup(), QString::fromLatin1( "forward-prefixes" ), mForwardPrefixes, defaultForwardPrefixes );
00385 mForwardPrefixesItem->setLabel( i18n("forward-prefixes") );
00386 addItem( mForwardPrefixesItem, QString::fromLatin1( "ForwardPrefixes" ) );
00387 mReplaceForwardPrefixItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "replace-forward-prefix" ), mReplaceForwardPrefix, true );
00388 mReplaceForwardPrefixItem->setLabel( i18n("Replace recognized prefix with \"&Fwd:\"") );
00389 addItem( mReplaceForwardPrefixItem, QString::fromLatin1( "ReplaceForwardPrefix" ) );
00390 mSmartQuoteItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "smart-quote" ), mSmartQuote, true );
00391 mSmartQuoteItem->setLabel( i18n("Use smart "ing") );
00392 addItem( mSmartQuoteItem, QString::fromLatin1( "SmartQuote" ) );
00393 QValueList<KConfigSkeleton::ItemEnum::Choice> valuesAddresseeSelectorType;
00394 {
00395 KConfigSkeleton::ItemEnum::Choice choice;
00396 choice.name = QString::fromLatin1( "New" );
00397 valuesAddresseeSelectorType.append( choice );
00398 }
00399 {
00400 KConfigSkeleton::ItemEnum::Choice choice;
00401 choice.name = QString::fromLatin1( "Old" );
00402 valuesAddresseeSelectorType.append( choice );
00403 }
00404 mAddresseeSelectorTypeItem = new KConfigSkeleton::ItemEnum( currentGroup(), QString::fromLatin1( "AddresseeSelectorType" ), mAddresseeSelectorType, valuesAddresseeSelectorType, EnumAddresseeSelectorType::Old );
00405 mAddresseeSelectorTypeItem->setLabel( i18n("Type of addressee selector") );
00406 mAddresseeSelectorTypeItem->setWhatsThis( i18n("Sets the type of the dialog for selecting recipients for To,\n"
00407 " CC and BCC.") );
00408 addItem( mAddresseeSelectorTypeItem, QString::fromLatin1( "AddresseeSelectorType" ) );
00409 QValueList<KConfigSkeleton::ItemEnum::Choice> valuesRecipientsEditorType;
00410 {
00411 KConfigSkeleton::ItemEnum::Choice choice;
00412 choice.name = QString::fromLatin1( "Classic" );
00413 valuesRecipientsEditorType.append( choice );
00414 }
00415 {
00416 KConfigSkeleton::ItemEnum::Choice choice;
00417 choice.name = QString::fromLatin1( "MultiLine" );
00418 valuesRecipientsEditorType.append( choice );
00419 }
00420 mRecipientsEditorTypeItem = new KConfigSkeleton::ItemEnum( currentGroup(), QString::fromLatin1( "RecipientsEditorType" ), mRecipientsEditorType, valuesRecipientsEditorType, EnumRecipientsEditorType::MultiLine );
00421 mRecipientsEditorTypeItem->setLabel( i18n("Type of recipients editor") );
00422 mRecipientsEditorTypeItem->setWhatsThis( i18n("Sets the type of the recipients editor for editing To,\n"
00423 " CC and BCC.") );
00424 addItem( mRecipientsEditorTypeItem, QString::fromLatin1( "RecipientsEditorType" ) );
00425 QValueList<KConfigSkeleton::ItemEnum::Choice> valuesSecondRecipientTypeDefault;
00426 {
00427 KConfigSkeleton::ItemEnum::Choice choice;
00428 choice.name = QString::fromLatin1( "To" );
00429 valuesSecondRecipientTypeDefault.append( choice );
00430 }
00431 {
00432 KConfigSkeleton::ItemEnum::Choice choice;
00433 choice.name = QString::fromLatin1( "Cc" );
00434 valuesSecondRecipientTypeDefault.append( choice );
00435 }
00436 mSecondRecipientTypeDefaultItem = new KConfigSkeleton::ItemEnum( currentGroup(), QString::fromLatin1( "SecondRecipientTypeDefault" ), mSecondRecipientTypeDefault, valuesSecondRecipientTypeDefault, EnumSecondRecipientTypeDefault::To );
00437 mSecondRecipientTypeDefaultItem->setLabel( i18n("SecondRecipientTypeDefault") );
00438 addItem( mSecondRecipientTypeDefaultItem, QString::fromLatin1( "SecondRecipientTypeDefault" ) );
00439 mMaximumRecipientsItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "MaximumRecipients" ), mMaximumRecipients, 200 );
00440 mMaximumRecipientsItem->setLabel( i18n("Maximum number of recipient editor lines.") );
00441 addItem( mMaximumRecipientsItem, QString::fromLatin1( "MaximumRecipients" ) );
00442 mCustomTemplatesItem = new KConfigSkeleton::ItemStringList( currentGroup(), QString::fromLatin1( "CustomTemplates" ), mCustomTemplates );
00443 mCustomTemplatesItem->setLabel( i18n("CustomTemplates") );
00444 addItem( mCustomTemplatesItem, QString::fromLatin1( "CustomTemplates" ) );
00445
00446 setCurrentGroup( QString::fromLatin1( "Fonts" ) );
00447
00448 mUseDefaultFontsItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "defaultFonts" ), mUseDefaultFonts, true );
00449 mUseDefaultFontsItem->setLabel( i18n("defaultFonts") );
00450 addItem( mUseDefaultFontsItem, QString::fromLatin1( "UseDefaultFonts" ) );
00451 mComposerFontItem = new KConfigSkeleton::ItemFont( currentGroup(), QString::fromLatin1( "composer-font" ), mComposerFont, KGlobalSettings::generalFont() );
00452 mComposerFontItem->setLabel( i18n("composer-font") );
00453 addItem( mComposerFontItem, QString::fromLatin1( "ComposerFont" ) );
00454 mFixedFontItem = new KConfigSkeleton::ItemFont( currentGroup(), QString::fromLatin1( "fixed-font" ), mFixedFont, KGlobalSettings::fixedFont() );
00455 mFixedFontItem->setLabel( i18n("fixed-font") );
00456 addItem( mFixedFontItem, QString::fromLatin1( "FixedFont" ) );
00457
00458 setCurrentGroup( QString::fromLatin1( "Geometry" ) );
00459
00460 mComposerSizeItem = new KConfigSkeleton::ItemSize( currentGroup(), QString::fromLatin1( "composer" ), mComposerSize, QSize(480,510) );
00461 mComposerSizeItem->setLabel( i18n("composer") );
00462 addItem( mComposerSizeItem, QString::fromLatin1( "ComposerSize" ) );
00463
00464 setCurrentGroup( QString::fromLatin1( "Reader" ) );
00465
00466 mUseDefaultColorsItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "defaultColors" ), mUseDefaultColors, true );
00467 mUseDefaultColorsItem->setLabel( i18n("defaultColors") );
00468 addItem( mUseDefaultColorsItem, QString::fromLatin1( "UseDefaultColors" ) );
00469 mForegroundColorItem = new KConfigSkeleton::ItemColor( currentGroup(), QString::fromLatin1( "ForegroundColor" ), mForegroundColor, kapp->palette().active().text() );
00470 mForegroundColorItem->setLabel( i18n("ForegroundColor") );
00471 addItem( mForegroundColorItem, QString::fromLatin1( "ForegroundColor" ) );
00472 mBackgroundColorItem = new KConfigSkeleton::ItemColor( currentGroup(), QString::fromLatin1( "BackgroundColor" ), mBackgroundColor, kapp->palette().active().base() );
00473 mBackgroundColorItem->setLabel( i18n("BackgroundColor") );
00474 addItem( mBackgroundColorItem, QString::fromLatin1( "BackgroundColor" ) );
00475 mFallbackCharacterEncodingItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "FallbackCharacterEncoding" ), mFallbackCharacterEncoding, QCString(QTextCodec::codecForLocale()->name()).lower() == "eucjp"? QCString("jis7") : QCString(QTextCodec::codecForLocale()->name()).lower() );
00476 mFallbackCharacterEncodingItem->setLabel( i18n("FallbackCharacterEncoding") );
00477 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.") );
00478 addItem( mFallbackCharacterEncodingItem, QString::fromLatin1( "FallbackCharacterEncoding" ) );
00479 mOverrideCharacterEncodingItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "encoding" ), mOverrideCharacterEncoding );
00480 mOverrideCharacterEncodingItem->setLabel( i18n("encoding") );
00481 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.") );
00482 addItem( mOverrideCharacterEncodingItem, QString::fromLatin1( "OverrideCharacterEncoding" ) );
00483 mShowEmoticonsItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "ShowEmoticons" ), mShowEmoticons, true );
00484 mShowEmoticonsItem->setLabel( i18n("Replace smileys by emoticons") );
00485 mShowEmoticonsItem->setWhatsThis( i18n("Enable this if you want smileys like :-) appearing in the message text to be replaced by emoticons (small pictures).") );
00486 addItem( mShowEmoticonsItem, QString::fromLatin1( "ShowEmoticons" ) );
00487 mShowExpandQuotesMarkItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "ShowExpandQuotesMark" ), mShowExpandQuotesMark, false );
00488 mShowExpandQuotesMarkItem->setLabel( i18n("Show expand/collapse quote marks") );
00489 mShowExpandQuotesMarkItem->setWhatsThis( i18n("Enable this option to show different levels of quoted text. Disable to hide the levels of quoted text.") );
00490 addItem( mShowExpandQuotesMarkItem, QString::fromLatin1( "ShowExpandQuotesMark" ) );
00491 mCollapseQuoteLevelSpinItem = new KConfigSkeleton::ItemInt( currentGroup(), QString::fromLatin1( "CollapseQuoteLevelSpin" ), mCollapseQuoteLevelSpin, 3 );
00492 mCollapseQuoteLevelSpinItem->setMinValue(0);
00493 mCollapseQuoteLevelSpinItem->setMaxValue(10);
00494 mCollapseQuoteLevelSpinItem->setLabel( i18n("Automatic collapse level:") );
00495 addItem( mCollapseQuoteLevelSpinItem, QString::fromLatin1( "CollapseQuoteLevelSpin" ) );
00496 mShrinkQuotesItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "ShrinkQuotes" ), mShrinkQuotes, false );
00497 mShrinkQuotesItem->setLabel( i18n("Reduce font size for quoted text") );
00498 mShrinkQuotesItem->setWhatsThis( i18n("Enable this option to show quoted text with a smaller font.") );
00499 addItem( mShrinkQuotesItem, QString::fromLatin1( "ShrinkQuotes" ) );
00500 mChiasmusDecryptionKeyItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "ChiasmusDecryptionKey" ), mChiasmusDecryptionKey );
00501 mChiasmusDecryptionKeyItem->setLabel( i18n("ChiasmusDecryptionKey") );
00502 addItem( mChiasmusDecryptionKeyItem, QString::fromLatin1( "ChiasmusDecryptionKey" ) );
00503 mChiasmusDecryptionOptionsItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "ChiasmusDecryptionOptions" ), mChiasmusDecryptionOptions );
00504 mChiasmusDecryptionOptionsItem->setLabel( i18n("ChiasmusDecryptionOptions") );
00505 addItem( mChiasmusDecryptionOptionsItem, QString::fromLatin1( "ChiasmusDecryptionOptions" ) );
00506
00507 setCurrentGroup( QString::fromLatin1( "TextIndex" ) );
00508
00509 mAutomaticDecryptItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "automaticDecrypt" ), mAutomaticDecrypt, true );
00510 mAutomaticDecryptItem->setLabel( i18n("automaticDecrypt") );
00511 addItem( mAutomaticDecryptItem, QString::fromLatin1( "automaticDecrypt" ) );
00512
00513 setCurrentGroup( QString::fromLatin1( "MDN" ) );
00514
00515 mSendMDNsWithEmptySenderItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "SendMDNsWithEmptySender" ), mSendMDNsWithEmptySender, false );
00516 mSendMDNsWithEmptySenderItem->setLabel( i18n("Send Message Disposition Notifications with an empty sender.") );
00517 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.") );
00518 addItem( mSendMDNsWithEmptySenderItem, QString::fromLatin1( "SendMDNsWithEmptySender" ) );
00519
00520 setCurrentGroup( QString::fromLatin1( "GlobalTemplates" ) );
00521
00522 mPhrasesConvertedItem = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "PhrasesConverted" ), mPhrasesConverted, false );
00523 mPhrasesConvertedItem->setLabel( i18n("Phrases has been converted to templates") );
00524 mPhrasesConvertedItem->setWhatsThis( i18n("Old phrases have been converted to templates") );
00525 addItem( mPhrasesConvertedItem, QString::fromLatin1( "PhrasesConverted" ) );
00526 mTemplateNewMessageItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "TemplateNewMessage" ), mTemplateNewMessage, TemplatesConfiguration::defaultNewMessage() );
00527 mTemplateNewMessageItem->setLabel( i18n("Message template for new message") );
00528 addItem( mTemplateNewMessageItem, QString::fromLatin1( "TemplateNewMessage" ) );
00529 mTemplateReplyItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "TemplateReply" ), mTemplateReply, TemplatesConfiguration::defaultReply() );
00530 mTemplateReplyItem->setLabel( i18n("Message template for reply") );
00531 addItem( mTemplateReplyItem, QString::fromLatin1( "TemplateReply" ) );
00532 mTemplateReplyAllItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "TemplateReplyAll" ), mTemplateReplyAll, TemplatesConfiguration::defaultReplyAll() );
00533 mTemplateReplyAllItem->setLabel( i18n("Message template for reply to all") );
00534 addItem( mTemplateReplyAllItem, QString::fromLatin1( "TemplateReplyAll" ) );
00535 mTemplateForwardItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "TemplateForward" ), mTemplateForward, TemplatesConfiguration::defaultForward() );
00536 mTemplateForwardItem->setLabel( i18n("Message template for forward") );
00537 addItem( mTemplateForwardItem, QString::fromLatin1( "TemplateForward" ) );
00538 mQuoteStringItem = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "QuoteString" ), mQuoteString, TemplatesConfiguration::defaultQuoteString() );
00539 mQuoteStringItem->setLabel( i18n("Quote characters") );
00540 addItem( mQuoteStringItem, QString::fromLatin1( "QuoteString" ) );
00541 }
00542
00543 GlobalSettingsBase::~GlobalSettingsBase()
00544 {
00545 if ( mSelf == this )
00546 staticGlobalSettingsBaseDeleter.setObject( mSelf, 0, false );
00547 }
00548