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