// This file is generated by kconfig_compiler_kf5 from messagecomposer.kcfg.
// All changes you do to this file will be lost.

#include "messagecomposersettings_base.h"

#include <klocalizedstring.h>

#include <qglobal.h>
#include <QFile>

using namespace MessageComposer;

namespace MessageComposer {

class MessageComposerSettingsBaseHelper
{
  public:
    MessageComposerSettingsBaseHelper() : q(nullptr) {}
    ~MessageComposerSettingsBaseHelper() { delete q; q = nullptr; }
    MessageComposerSettingsBaseHelper(const MessageComposerSettingsBaseHelper&) = delete;
    MessageComposerSettingsBaseHelper& operator=(const MessageComposerSettingsBaseHelper&) = delete;
    MessageComposerSettingsBase *q;
};

}
Q_GLOBAL_STATIC(MessageComposerSettingsBaseHelper, s_globalMessageComposerSettingsBase)
MessageComposerSettingsBase *MessageComposerSettingsBase::self()
{
  if (!s_globalMessageComposerSettingsBase()->q) {
    new MessageComposerSettingsBase;
    s_globalMessageComposerSettingsBase()->q->read();
  }

  return s_globalMessageComposerSettingsBase()->q;
}

MessageComposerSettingsBase::MessageComposerSettingsBase( )
  : KConfigSkeleton( QStringLiteral( "mailcomposerrc" ) )
{
  Q_ASSERT(!s_globalMessageComposerSettingsBase()->q);
  s_globalMessageComposerSettingsBase()->q = this;
  setCurrentGroup( QStringLiteral( "Composer" ) );

  mCustomMsgIDSuffixItem = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "myMessageIdSuffix" ), mCustomMsgIDSuffix );
  mCustomMsgIDSuffixItem->setLabel( i18n("myMessageIdSuffix") );
  addItem( mCustomMsgIDSuffixItem, QStringLiteral( "CustomMsgIDSuffix" ) );
  mUseCustomMessageIdSuffixItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "useCustomMessageIdSuffix" ), mUseCustomMessageIdSuffix, false );
  mUseCustomMessageIdSuffixItem->setLabel( i18n("useCustomMessageIdSuffix") );
  addItem( mUseCustomMessageIdSuffixItem, QStringLiteral( "UseCustomMessageIdSuffix" ) );
  mQuoteSelectionOnlyItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "QuoteSelectionOnly" ), mQuoteSelectionOnly, true );
  mQuoteSelectionOnlyItem->setLabel( i18n("Only quote selected text when replying") );
  addItem( mQuoteSelectionOnlyItem, QStringLiteral( "QuoteSelectionOnly" ) );
  mForceReplyCharsetItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "force-reply-charset" ), mForceReplyCharset, false );
  mForceReplyCharsetItem->setLabel( i18n("Keep original charset when replying or forwarding if possible") );
  addItem( mForceReplyCharsetItem, QStringLiteral( "ForceReplyCharset" ) );
  QStringList defaultPreferredCharsets;
  defaultPreferredCharsets.append( QString::fromUtf8( "us-ascii" ) );
  defaultPreferredCharsets.append( QString::fromUtf8( "iso-8859-1" ) );
  defaultPreferredCharsets.append( QString::fromUtf8( "locale" ) );
  defaultPreferredCharsets.append( QString::fromUtf8( "utf-8" ) );

  mPreferredCharsetsItem = new KConfigSkeleton::ItemStringList( currentGroup(), QStringLiteral( "pref-charsets" ), mPreferredCharsets, defaultPreferredCharsets );
  mPreferredCharsetsItem->setLabel( i18n("pref-charsets") );
  addItem( mPreferredCharsetsItem, QStringLiteral( "PreferredCharsets" ) );
  mAutoTextSignatureItem = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "signature" ), mAutoTextSignature, QStringLiteral( "auto" ) );
  mAutoTextSignatureItem->setLabel( i18n("A&utomatically insert signature") );
  addItem( mAutoTextSignatureItem, QStringLiteral( "AutoTextSignature" ) );
  mPrependSignatureItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "prepend-signature" ), mPrependSignature, false );
  mPrependSignatureItem->setLabel( i18n("Insert signature above quoted text") );
  addItem( mPrependSignatureItem, QStringLiteral( "PrependSignature" ) );
  mDashDashSignatureItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "dash-dash-signature" ), mDashDashSignature, true );
  mDashDashSignatureItem->setLabel( i18n("Prepend separator to signature") );
  addItem( mDashDashSignatureItem, QStringLiteral( "DashDashSignature" ) );
  mShowBalooSearchInComposerItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showBalooSearchInComposer" ), mShowBalooSearchInComposer, true );
  mShowBalooSearchInComposerItem->setLabel( i18n("Use addresses indexed from emails for autocompletion") );
  mShowBalooSearchInComposerItem->setWhatsThis( i18n("Disable this option if you only want contacts from your addressbooks to appear in the autocompletion list in the composer's address fields.") );
  addItem( mShowBalooSearchInComposerItem, QStringLiteral( "ShowBalooSearchInComposer" ) );
  mAllowSemicolonAsAddressSeparatorItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "AllowSemicolonAsAddressSeparator" ), mAllowSemicolonAsAddressSeparator, false );
  mAllowSemicolonAsAddressSeparatorItem->setLabel( i18n("Allow the semicolon character (';') to be used as separator in the message composer") );
  addItem( mAllowSemicolonAsAddressSeparatorItem, QStringLiteral( "AllowSemicolonAsAddressSeparator" ) );
  mShowRecentAddressesInComposerItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "showRecentAddressesInComposer" ), mShowRecentAddressesInComposer, true );
  mShowRecentAddressesInComposerItem->setLabel( i18n("Use recent addresses for autocompletion") );
  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.") );
  addItem( mShowRecentAddressesInComposerItem, QStringLiteral( "ShowRecentAddressesInComposer" ) );
  mMaximumRecipientsItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "MaximumRecipients" ), mMaximumRecipients, 200 );
  mMaximumRecipientsItem->setLabel( i18n("Maximum number of recipient entries:") );
  addItem( mMaximumRecipientsItem, QStringLiteral( "MaximumRecipients" ) );
  mOutlookCompatibleAttachmentsItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "outlook-compatible-attachments" ), mOutlookCompatibleAttachments, false );
  mOutlookCompatibleAttachmentsItem->setLabel( i18n("Outlook-compatible attachment naming") );
  mOutlookCompatibleAttachmentsItem->setWhatsThis( i18n("Turn this option on to make Outlook ™ understand attachment names containing non-English characters") );
  addItem( mOutlookCompatibleAttachmentsItem, QStringLiteral( "OutlookCompatibleAttachments" ) );
  mWordWrapItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "word-wrap" ), mWordWrap, true );
  mWordWrapItem->setLabel( i18n("Word &wrap at column:") );
  addItem( mWordWrapItem, QStringLiteral( "WordWrap" ) );
  mLineWrapWidthItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "break-at" ), mLineWrapWidth, 78 );
  mLineWrapWidthItem->setMinValue(30);
  mLineWrapWidthItem->setMaxValue(998);
  mLineWrapWidthItem->setLabel( i18n("break-at") );
  addItem( mLineWrapWidthItem, QStringLiteral( "LineWrapWidth" ) );
  mImprovePlainTextOfHtmlMessageItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "improve-plain-text-html-message" ), mImprovePlainTextOfHtmlMessage, true );
  mImprovePlainTextOfHtmlMessageItem->setLabel( i18n("Improve plain text version of HTML message") );
  addItem( mImprovePlainTextOfHtmlMessageItem, QStringLiteral( "ImprovePlainTextOfHtmlMessage" ) );
  mCryptoWarningUnencryptedItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "crypto-warning-unencrypted" ), mCryptoWarningUnencrypted, false );
  mCryptoWarningUnencryptedItem->setLabel( i18n("Warn before sending unencrypted messages") );
  addItem( mCryptoWarningUnencryptedItem, QStringLiteral( "CryptoWarningUnencrypted" ) );
  mCryptoWarningUnsignedItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "crypto-warning-unsigned" ), mCryptoWarningUnsigned, false );
  mCryptoWarningUnsignedItem->setLabel( i18n("Warn before sending unsigned messages") );
  addItem( mCryptoWarningUnsignedItem, QStringLiteral( "CryptoWarningUnsigned" ) );
  mCryptoWarnWhenNearExpireItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "crypto-warn-when-near-expire" ), mCryptoWarnWhenNearExpire, true );
  mCryptoWarnWhenNearExpireItem->setLabel( i18n("Warn if certificates/keys expire soon (configure thresholds below)") );
  addItem( mCryptoWarnWhenNearExpireItem, QStringLiteral( "CryptoWarnWhenNearExpire" ) );
  mCryptoWarnSignKeyNearExpiryThresholdDaysItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "crypto-warn-sign-key-near-expire-int" ), mCryptoWarnSignKeyNearExpiryThresholdDays, 14 );
  mCryptoWarnSignKeyNearExpiryThresholdDaysItem->setLabel( i18n("The minimum number of days that the signature certificate should be valid before issuing a warning") );
  addItem( mCryptoWarnSignKeyNearExpiryThresholdDaysItem, QStringLiteral( "CryptoWarnSignKeyNearExpiryThresholdDays" ) );
  mCryptoWarnSignChaincertNearExpiryThresholdDaysItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "crypto-warn-sign-chaincert-near-expire-int" ), mCryptoWarnSignChaincertNearExpiryThresholdDays, 14 );
  mCryptoWarnSignChaincertNearExpiryThresholdDaysItem->setLabel( i18n("The minimum number of days that the CA certificate should be valid before issuing a warning") );
  addItem( mCryptoWarnSignChaincertNearExpiryThresholdDaysItem, QStringLiteral( "CryptoWarnSignChaincertNearExpiryThresholdDays" ) );
  mCryptoWarnSignRootNearExpiryThresholdDaysItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "crypto-warn-sign-root-near-expire-int" ), mCryptoWarnSignRootNearExpiryThresholdDays, 14 );
  mCryptoWarnSignRootNearExpiryThresholdDaysItem->setLabel( i18n("The minimum number of days that the root certificate should be valid before issuing a warning") );
  addItem( mCryptoWarnSignRootNearExpiryThresholdDaysItem, QStringLiteral( "CryptoWarnSignRootNearExpiryThresholdDays" ) );
  mCryptoWarnEncrKeyNearExpiryThresholdDaysItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "crypto-warn-encr-key-near-expire-int" ), mCryptoWarnEncrKeyNearExpiryThresholdDays, 14 );
  mCryptoWarnEncrKeyNearExpiryThresholdDaysItem->setLabel( i18n("The minimum number of days that the encryption certificate should be valid before issuing a warning") );
  addItem( mCryptoWarnEncrKeyNearExpiryThresholdDaysItem, QStringLiteral( "CryptoWarnEncrKeyNearExpiryThresholdDays" ) );
  mCryptoWarnEncrChaincertNearExpiryThresholdDaysItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "crypto-warn-encr-chaincert-near-expire-int" ), mCryptoWarnEncrChaincertNearExpiryThresholdDays, 14 );
  mCryptoWarnEncrChaincertNearExpiryThresholdDaysItem->setLabel( i18n("The minimum number of days that all certificates in the chain should be valid before issuing a warning") );
  addItem( mCryptoWarnEncrChaincertNearExpiryThresholdDaysItem, QStringLiteral( "CryptoWarnEncrChaincertNearExpiryThresholdDays" ) );
  mCryptoWarnEncrRootNearExpiryThresholdDaysItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "crypto-warn-encr-root-near-expire-int" ), mCryptoWarnEncrRootNearExpiryThresholdDays, 14 );
  mCryptoWarnEncrRootNearExpiryThresholdDaysItem->setLabel( i18n("The minimum number of days that the root certificate should be valid before issuing a warning") );
  addItem( mCryptoWarnEncrRootNearExpiryThresholdDaysItem, QStringLiteral( "CryptoWarnEncrRootNearExpiryThresholdDays" ) );
  mCryptoEncryptToSelfItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "crypto-encrypt-to-self" ), mCryptoEncryptToSelf, true );
  mCryptoEncryptToSelfItem->setLabel( i18n("When encrypting emails, always also encrypt to the certificate of my own identity") );
  addItem( mCryptoEncryptToSelfItem, QStringLiteral( "CryptoEncryptToSelf" ) );
  mCryptoShowKeysForApprovalItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "crypto-show-keys-for-approval" ), mCryptoShowKeysForApproval, true );
  mCryptoShowKeysForApprovalItem->setLabel( i18n("Always show the list of encryption keys to select the one which will be used") );
  addItem( mCryptoShowKeysForApprovalItem, QStringLiteral( "CryptoShowKeysForApproval" ) );

  setCurrentGroup( QStringLiteral( "sending mail" ) );

  mSendImmediateItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "Immediate" ), mSendImmediate, true );
  mSendImmediateItem->setLabel( i18n("Immediate") );
  addItem( mSendImmediateItem, QStringLiteral( "SendImmediate" ) );

  setCurrentGroup( QStringLiteral( "Autocorrect" ) );

  mEnabledItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "enabled" ), mEnabled, false );
  mEnabledItem->setLabel( i18n("enabled") );
  addItem( mEnabledItem, QStringLiteral( "Enabled" ) );
  mUppercaseFirstCharOfSentenceItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "upper-case-first-char-of-sentence" ), mUppercaseFirstCharOfSentence, false );
  mUppercaseFirstCharOfSentenceItem->setLabel( i18n("upper-case-first-char-of-sentence") );
  addItem( mUppercaseFirstCharOfSentenceItem, QStringLiteral( "UppercaseFirstCharOfSentence" ) );
  mFixTwoUppercaseCharsItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "fix-two-upper-case-chars" ), mFixTwoUppercaseChars, false );
  mFixTwoUppercaseCharsItem->setLabel( i18n("fix-two-upper-case-chars") );
  addItem( mFixTwoUppercaseCharsItem, QStringLiteral( "FixTwoUppercaseChars" ) );
  mSingleSpacesItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "single-spaces" ), mSingleSpaces, false );
  mSingleSpacesItem->setLabel( i18n("single-spaces") );
  addItem( mSingleSpacesItem, QStringLiteral( "SingleSpaces" ) );
  mAutoFractionsItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "auto-fractions" ), mAutoFractions, false );
  mAutoFractionsItem->setLabel( i18n("auto-fractions") );
  addItem( mAutoFractionsItem, QStringLiteral( "AutoFractions" ) );
  mCapitalizeWeekDaysItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "capitalize-week-days" ), mCapitalizeWeekDays, false );
  mCapitalizeWeekDaysItem->setLabel( i18n("capitalize-week-days") );
  addItem( mCapitalizeWeekDaysItem, QStringLiteral( "CapitalizeWeekDays" ) );
  mAdvancedAutocorrectItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "advanced-autocorrect" ), mAdvancedAutocorrect, false );
  mAdvancedAutocorrectItem->setLabel( i18n("advanced-autocorrect") );
  addItem( mAdvancedAutocorrectItem, QStringLiteral( "AdvancedAutocorrect" ) );
  mReplaceDoubleQuotesItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "replace-double-quotes" ), mReplaceDoubleQuotes, false );
  mReplaceDoubleQuotesItem->setLabel( i18n("replace-double-quotes") );
  addItem( mReplaceDoubleQuotesItem, QStringLiteral( "ReplaceDoubleQuotes" ) );
  mReplaceSingleQuotesItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "replace-single-quotes" ), mReplaceSingleQuotes, false );
  mReplaceSingleQuotesItem->setLabel( i18n("replace-single-quotes") );
  addItem( mReplaceSingleQuotesItem, QStringLiteral( "ReplaceSingleQuotes" ) );
  mAutoFormatUrlItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "autoformat-url" ), mAutoFormatUrl, false );
  mAutoFormatUrlItem->setLabel( i18n("autoformat-url") );
  addItem( mAutoFormatUrlItem, QStringLiteral( "AutoFormatUrl" ) );
  mAutoBoldUnderlineItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "auto-bold-underline" ), mAutoBoldUnderline, false );
  mAutoBoldUnderlineItem->setLabel( i18n("auto-bold-underline") );
  addItem( mAutoBoldUnderlineItem, QStringLiteral( "AutoBoldUnderline" ) );
  mSuperScriptItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "super-script" ), mSuperScript, false );
  mSuperScriptItem->setLabel( i18n("super-script") );
  addItem( mSuperScriptItem, QStringLiteral( "SuperScript" ) );
  mAddNonBreakingSpaceInFrenchItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "add-non-breaking-space" ), mAddNonBreakingSpaceInFrench, false );
  mAddNonBreakingSpaceInFrenchItem->setLabel( i18n("add-non-breaking-space") );
  addItem( mAddNonBreakingSpaceInFrenchItem, QStringLiteral( "AddNonBreakingSpaceInFrench" ) );

  setCurrentGroup( QStringLiteral( "AutoResizeImage" ) );

  mAutoResizeImageEnabledItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "auto-resize-image-enabled" ), mAutoResizeImageEnabled, false );
  mAutoResizeImageEnabledItem->setLabel( i18n("auto-resize-image-enabled") );
  addItem( mAutoResizeImageEnabledItem, QStringLiteral( "AutoResizeImageEnabled" ) );
  mKeepImageRatioItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "keep-image-ratio" ), mKeepImageRatio, false );
  mKeepImageRatioItem->setLabel( i18n("keep-image-ratio") );
  addItem( mKeepImageRatioItem, QStringLiteral( "KeepImageRatio" ) );
  mAskBeforeResizingItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "ask-before-resizing" ), mAskBeforeResizing, true );
  mAskBeforeResizingItem->setLabel( i18n("ask-before-resizing") );
  addItem( mAskBeforeResizingItem, QStringLiteral( "AskBeforeResizing" ) );
  mReduceImageToMaximumItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "reduce-image-to-maximum" ), mReduceImageToMaximum, false );
  mReduceImageToMaximumItem->setLabel( i18n("reduce-image-to-maximum") );
  addItem( mReduceImageToMaximumItem, QStringLiteral( "ReduceImageToMaximum" ) );
  mEnlargeImageToMinimumItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "enlarge-image-to-minimum" ), mEnlargeImageToMinimum, false );
  mEnlargeImageToMinimumItem->setLabel( i18n("enlarge-image-to-minimum") );
  addItem( mEnlargeImageToMinimumItem, QStringLiteral( "EnlargeImageToMinimum" ) );
  mCustomMinimumHeightItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "custom-minimum-height" ), mCustomMinimumHeight, 520 );
  mCustomMinimumHeightItem->setLabel( i18n("custom-minimum-height") );
  addItem( mCustomMinimumHeightItem, QStringLiteral( "CustomMinimumHeight" ) );
  mCustomMinimumWidthItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "custom-minimum-width" ), mCustomMinimumWidth, 520 );
  mCustomMinimumWidthItem->setLabel( i18n("custom-minimum-width") );
  addItem( mCustomMinimumWidthItem, QStringLiteral( "CustomMinimumWidth" ) );
  mCustomMaximumHeightItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "custom-maximum-height" ), mCustomMaximumHeight, 520 );
  mCustomMaximumHeightItem->setLabel( i18n("custom-maximum-height") );
  addItem( mCustomMaximumHeightItem, QStringLiteral( "CustomMaximumHeight" ) );
  mCustomMaximumWidthItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "custom-maximum-width" ), mCustomMaximumWidth, 520 );
  mCustomMaximumWidthItem->setLabel( i18n("custom-maximum-width") );
  addItem( mCustomMaximumWidthItem, QStringLiteral( "CustomMaximumWidth" ) );
  mMaximumHeightItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "maximum-height" ), mMaximumHeight, 0 );
  mMaximumHeightItem->setLabel( i18n("maximum-height") );
  addItem( mMaximumHeightItem, QStringLiteral( "MaximumHeight" ) );
  mMaximumWidthItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "maximum-width" ), mMaximumWidth, 0 );
  mMaximumWidthItem->setLabel( i18n("maximum-width") );
  addItem( mMaximumWidthItem, QStringLiteral( "MaximumWidth" ) );
  mMinimumHeightItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "minimum-height" ), mMinimumHeight, 0 );
  mMinimumHeightItem->setLabel( i18n("minimum-height") );
  addItem( mMinimumHeightItem, QStringLiteral( "MinimumHeight" ) );
  mMinimumWidthItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "minimum-width" ), mMinimumWidth, 0 );
  mMinimumWidthItem->setLabel( i18n("minimum-width") );
  addItem( mMinimumWidthItem, QStringLiteral( "MinimumWidth" ) );
  mWriteFormatItem = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "write-format" ), mWriteFormat );
  mWriteFormatItem->setLabel( i18n("write-format") );
  addItem( mWriteFormatItem, QStringLiteral( "WriteFormat" ) );
  mSkipImageLowerSizeEnabledItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "skip-image-lower-size-enabled" ), mSkipImageLowerSizeEnabled, false );
  mSkipImageLowerSizeEnabledItem->setLabel( i18n("skip-image-lower-size-enabled") );
  addItem( mSkipImageLowerSizeEnabledItem, QStringLiteral( "SkipImageLowerSizeEnabled" ) );
  mSkipImageLowerSizeItem = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "skip-image-lower-size" ), mSkipImageLowerSize, 220 );
  mSkipImageLowerSizeItem->setLabel( i18n("skip-image-lower-size") );
  addItem( mSkipImageLowerSizeItem, QStringLiteral( "SkipImageLowerSize" ) );
  mFilterSourcePatternItem = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "filter-source-pattern" ), mFilterSourcePattern );
  mFilterSourcePatternItem->setLabel( i18n("filter-source-pattern") );
  addItem( mFilterSourcePatternItem, QStringLiteral( "FilterSourcePattern" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesFilterSourceType;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("NoFilter");
    valuesFilterSourceType.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("IncludeFilesWithPattern");
    valuesFilterSourceType.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("ExcludeFilesWithPattern");
    valuesFilterSourceType.append( choice );
  }
  mFilterSourceTypeItem = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "FilterSourceType" ), mFilterSourceType, valuesFilterSourceType, EnumFilterSourceType::NoFilter );
  mFilterSourceTypeItem->setLabel( i18n("FilterSourceType") );
  addItem( mFilterSourceTypeItem, QStringLiteral( "FilterSourceType" ) );
  mRenameResizedImagesItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "rename-resized-images" ), mRenameResizedImages, false );
  mRenameResizedImagesItem->setLabel( i18n("rename-resized-images") );
  addItem( mRenameResizedImagesItem, QStringLiteral( "RenameResizedImages" ) );
  mRenameResizedImagesPatternItem = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "rename-resized-images-pattern" ), mRenameResizedImagesPattern );
  mRenameResizedImagesPatternItem->setLabel( i18n("rename-resized-images-pattern") );
  addItem( mRenameResizedImagesPatternItem, QStringLiteral( "RenameResizedImagesPattern" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesFilterRecipientType;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("NoFilter");
    valuesFilterRecipientType.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("ResizeEachEmailsContainsPattern");
    valuesFilterRecipientType.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("ResizeOneEmailContainsPattern");
    valuesFilterRecipientType.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("DontResizeEachEmailsContainsPattern");
    valuesFilterRecipientType.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("DontResizeOneEmailContainsPattern");
    valuesFilterRecipientType.append( choice );
  }
  mFilterRecipientTypeItem = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "FilterRecipientType" ), mFilterRecipientType, valuesFilterRecipientType, EnumFilterRecipientType::NoFilter );
  mFilterRecipientTypeItem->setLabel( i18n("FilterRecipientType") );
  addItem( mFilterRecipientTypeItem, QStringLiteral( "FilterRecipientType" ) );
  mDoNotResizeEmailsPatternItem = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "do-not-resize-emails-pattern" ), mDoNotResizeEmailsPattern );
  mDoNotResizeEmailsPatternItem->setLabel( i18n("do-not-resize-emails-pattern") );
  addItem( mDoNotResizeEmailsPatternItem, QStringLiteral( "DoNotResizeEmailsPattern" ) );
  mResizeEmailsPatternItem = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "resize-emails-pattern" ), mResizeEmailsPattern );
  mResizeEmailsPatternItem->setLabel( i18n("resize-emails-pattern") );
  addItem( mResizeEmailsPatternItem, QStringLiteral( "ResizeEmailsPattern" ) );
  mResizeImagesWithFormatsItem = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "resize-image-with-formats" ), mResizeImagesWithFormats, false );
  mResizeImagesWithFormatsItem->setLabel( i18n("resize-image-with-formats") );
  addItem( mResizeImagesWithFormatsItem, QStringLiteral( "ResizeImagesWithFormats" ) );
  mResizeImagesWithFormatsTypeItem = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "resize-image-with-formats-type" ), mResizeImagesWithFormatsType );
  mResizeImagesWithFormatsTypeItem->setLabel( i18n("resize-image-with-formats-type") );
  addItem( mResizeImagesWithFormatsTypeItem, QStringLiteral( "ResizeImagesWithFormatsType" ) );
}

MessageComposerSettingsBase::~MessageComposerSettingsBase()
{
  if (s_globalMessageComposerSettingsBase.exists() && !s_globalMessageComposerSettingsBase.isDestroyed()) {
    s_globalMessageComposerSettingsBase()->q = nullptr;
  }
}

