// This file is generated by kconfig_compiler_kf5 from pimcommon.kcfg.
// All changes you do to this file will be lost.
#ifndef PIMCOMMON_PIMCOMMONSETTINGSBASE_H
#define PIMCOMMON_PIMCOMMONSETTINGSBASE_H

#include <qapplication.h>
#include <pimcommon_export.h>

#include <kconfigskeleton.h>
#include <QCoreApplication>
#include <QDebug>

namespace PimCommon {

class PIMCOMMON_EXPORT PimCommonSettingsBase : public KConfigSkeleton
{
  public:

    static PimCommonSettingsBase *self();
    ~PimCommonSettingsBase() override;

    /**
      Set enabled
    */
    static
    void setEnabled( bool v )
    {
      if (!self()->isEnabledImmutable())
        self()->mEnabled = v;
    }

    /**
      Get enabled
    */
    static
    bool enabled()
    {
      return self()->mEnabled;
    }

    /**
      Is enabled Immutable
    */
    static
    bool isEnabledImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Enabled" ) );
    }

    /**
      Get Item object corresponding to Enabled()
    */
    ItemBool *enabledItem()
    {
      return mEnabledItem;
    }

    /**
      Set upper-case-first-char-of-sentence
    */
    static
    void setUppercaseFirstCharOfSentence( bool v )
    {
      if (!self()->isUppercaseFirstCharOfSentenceImmutable())
        self()->mUppercaseFirstCharOfSentence = v;
    }

    /**
      Get upper-case-first-char-of-sentence
    */
    static
    bool uppercaseFirstCharOfSentence()
    {
      return self()->mUppercaseFirstCharOfSentence;
    }

    /**
      Is upper-case-first-char-of-sentence Immutable
    */
    static
    bool isUppercaseFirstCharOfSentenceImmutable()
    {
      return self()->isImmutable( QStringLiteral( "UppercaseFirstCharOfSentence" ) );
    }

    /**
      Get Item object corresponding to UppercaseFirstCharOfSentence()
    */
    ItemBool *uppercaseFirstCharOfSentenceItem()
    {
      return mUppercaseFirstCharOfSentenceItem;
    }

    /**
      Set fix-two-upper-case-chars
    */
    static
    void setFixTwoUppercaseChars( bool v )
    {
      if (!self()->isFixTwoUppercaseCharsImmutable())
        self()->mFixTwoUppercaseChars = v;
    }

    /**
      Get fix-two-upper-case-chars
    */
    static
    bool fixTwoUppercaseChars()
    {
      return self()->mFixTwoUppercaseChars;
    }

    /**
      Is fix-two-upper-case-chars Immutable
    */
    static
    bool isFixTwoUppercaseCharsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "FixTwoUppercaseChars" ) );
    }

    /**
      Get Item object corresponding to FixTwoUppercaseChars()
    */
    ItemBool *fixTwoUppercaseCharsItem()
    {
      return mFixTwoUppercaseCharsItem;
    }

    /**
      Set single-spaces
    */
    static
    void setSingleSpaces( bool v )
    {
      if (!self()->isSingleSpacesImmutable())
        self()->mSingleSpaces = v;
    }

    /**
      Get single-spaces
    */
    static
    bool singleSpaces()
    {
      return self()->mSingleSpaces;
    }

    /**
      Is single-spaces Immutable
    */
    static
    bool isSingleSpacesImmutable()
    {
      return self()->isImmutable( QStringLiteral( "SingleSpaces" ) );
    }

    /**
      Get Item object corresponding to SingleSpaces()
    */
    ItemBool *singleSpacesItem()
    {
      return mSingleSpacesItem;
    }

    /**
      Set auto-fractions
    */
    static
    void setAutoFractions( bool v )
    {
      if (!self()->isAutoFractionsImmutable())
        self()->mAutoFractions = v;
    }

    /**
      Get auto-fractions
    */
    static
    bool autoFractions()
    {
      return self()->mAutoFractions;
    }

    /**
      Is auto-fractions Immutable
    */
    static
    bool isAutoFractionsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "AutoFractions" ) );
    }

    /**
      Get Item object corresponding to AutoFractions()
    */
    ItemBool *autoFractionsItem()
    {
      return mAutoFractionsItem;
    }

    /**
      Set capitalize-week-days
    */
    static
    void setCapitalizeWeekDays( bool v )
    {
      if (!self()->isCapitalizeWeekDaysImmutable())
        self()->mCapitalizeWeekDays = v;
    }

    /**
      Get capitalize-week-days
    */
    static
    bool capitalizeWeekDays()
    {
      return self()->mCapitalizeWeekDays;
    }

    /**
      Is capitalize-week-days Immutable
    */
    static
    bool isCapitalizeWeekDaysImmutable()
    {
      return self()->isImmutable( QStringLiteral( "CapitalizeWeekDays" ) );
    }

    /**
      Get Item object corresponding to CapitalizeWeekDays()
    */
    ItemBool *capitalizeWeekDaysItem()
    {
      return mCapitalizeWeekDaysItem;
    }

    /**
      Set advanced-autocorrect
    */
    static
    void setAdvancedAutocorrect( bool v )
    {
      if (!self()->isAdvancedAutocorrectImmutable())
        self()->mAdvancedAutocorrect = v;
    }

    /**
      Get advanced-autocorrect
    */
    static
    bool advancedAutocorrect()
    {
      return self()->mAdvancedAutocorrect;
    }

    /**
      Is advanced-autocorrect Immutable
    */
    static
    bool isAdvancedAutocorrectImmutable()
    {
      return self()->isImmutable( QStringLiteral( "AdvancedAutocorrect" ) );
    }

    /**
      Get Item object corresponding to AdvancedAutocorrect()
    */
    ItemBool *advancedAutocorrectItem()
    {
      return mAdvancedAutocorrectItem;
    }

    /**
      Set replace-double-quotes
    */
    static
    void setReplaceDoubleQuotes( bool v )
    {
      if (!self()->isReplaceDoubleQuotesImmutable())
        self()->mReplaceDoubleQuotes = v;
    }

    /**
      Get replace-double-quotes
    */
    static
    bool replaceDoubleQuotes()
    {
      return self()->mReplaceDoubleQuotes;
    }

    /**
      Is replace-double-quotes Immutable
    */
    static
    bool isReplaceDoubleQuotesImmutable()
    {
      return self()->isImmutable( QStringLiteral( "ReplaceDoubleQuotes" ) );
    }

    /**
      Get Item object corresponding to ReplaceDoubleQuotes()
    */
    ItemBool *replaceDoubleQuotesItem()
    {
      return mReplaceDoubleQuotesItem;
    }

    /**
      Set replace-single-quotes
    */
    static
    void setReplaceSingleQuotes( bool v )
    {
      if (!self()->isReplaceSingleQuotesImmutable())
        self()->mReplaceSingleQuotes = v;
    }

    /**
      Get replace-single-quotes
    */
    static
    bool replaceSingleQuotes()
    {
      return self()->mReplaceSingleQuotes;
    }

    /**
      Is replace-single-quotes Immutable
    */
    static
    bool isReplaceSingleQuotesImmutable()
    {
      return self()->isImmutable( QStringLiteral( "ReplaceSingleQuotes" ) );
    }

    /**
      Get Item object corresponding to ReplaceSingleQuotes()
    */
    ItemBool *replaceSingleQuotesItem()
    {
      return mReplaceSingleQuotesItem;
    }

    /**
      Set autoformat-url
    */
    static
    void setAutoFormatUrl( bool v )
    {
      if (!self()->isAutoFormatUrlImmutable())
        self()->mAutoFormatUrl = v;
    }

    /**
      Get autoformat-url
    */
    static
    bool autoFormatUrl()
    {
      return self()->mAutoFormatUrl;
    }

    /**
      Is autoformat-url Immutable
    */
    static
    bool isAutoFormatUrlImmutable()
    {
      return self()->isImmutable( QStringLiteral( "AutoFormatUrl" ) );
    }

    /**
      Get Item object corresponding to AutoFormatUrl()
    */
    ItemBool *autoFormatUrlItem()
    {
      return mAutoFormatUrlItem;
    }

    /**
      Set auto-bold-underline
    */
    static
    void setAutoBoldUnderline( bool v )
    {
      if (!self()->isAutoBoldUnderlineImmutable())
        self()->mAutoBoldUnderline = v;
    }

    /**
      Get auto-bold-underline
    */
    static
    bool autoBoldUnderline()
    {
      return self()->mAutoBoldUnderline;
    }

    /**
      Is auto-bold-underline Immutable
    */
    static
    bool isAutoBoldUnderlineImmutable()
    {
      return self()->isImmutable( QStringLiteral( "AutoBoldUnderline" ) );
    }

    /**
      Get Item object corresponding to AutoBoldUnderline()
    */
    ItemBool *autoBoldUnderlineItem()
    {
      return mAutoBoldUnderlineItem;
    }

    /**
      Set super-script
    */
    static
    void setSuperScript( bool v )
    {
      if (!self()->isSuperScriptImmutable())
        self()->mSuperScript = v;
    }

    /**
      Get super-script
    */
    static
    bool superScript()
    {
      return self()->mSuperScript;
    }

    /**
      Is super-script Immutable
    */
    static
    bool isSuperScriptImmutable()
    {
      return self()->isImmutable( QStringLiteral( "SuperScript" ) );
    }

    /**
      Get Item object corresponding to SuperScript()
    */
    ItemBool *superScriptItem()
    {
      return mSuperScriptItem;
    }

    /**
      Set add-non-breaking-space
    */
    static
    void setAddNonBreakingSpaceInFrench( bool v )
    {
      if (!self()->isAddNonBreakingSpaceInFrenchImmutable())
        self()->mAddNonBreakingSpaceInFrench = v;
    }

    /**
      Get add-non-breaking-space
    */
    static
    bool addNonBreakingSpaceInFrench()
    {
      return self()->mAddNonBreakingSpaceInFrench;
    }

    /**
      Is add-non-breaking-space Immutable
    */
    static
    bool isAddNonBreakingSpaceInFrenchImmutable()
    {
      return self()->isImmutable( QStringLiteral( "AddNonBreakingSpaceInFrench" ) );
    }

    /**
      Get Item object corresponding to AddNonBreakingSpaceInFrench()
    */
    ItemBool *addNonBreakingSpaceInFrenchItem()
    {
      return mAddNonBreakingSpaceInFrenchItem;
    }

  protected:
    PimCommonSettingsBase();
    friend class PimCommonSettingsBaseHelper;


    // Autocorrect
    bool mEnabled;
    bool mUppercaseFirstCharOfSentence;
    bool mFixTwoUppercaseChars;
    bool mSingleSpaces;
    bool mAutoFractions;
    bool mCapitalizeWeekDays;
    bool mAdvancedAutocorrect;
    bool mReplaceDoubleQuotes;
    bool mReplaceSingleQuotes;
    bool mAutoFormatUrl;
    bool mAutoBoldUnderline;
    bool mSuperScript;
    bool mAddNonBreakingSpaceInFrench;

  private:
    ItemBool *mEnabledItem;
    ItemBool *mUppercaseFirstCharOfSentenceItem;
    ItemBool *mFixTwoUppercaseCharsItem;
    ItemBool *mSingleSpacesItem;
    ItemBool *mAutoFractionsItem;
    ItemBool *mCapitalizeWeekDaysItem;
    ItemBool *mAdvancedAutocorrectItem;
    ItemBool *mReplaceDoubleQuotesItem;
    ItemBool *mReplaceSingleQuotesItem;
    ItemBool *mAutoFormatUrlItem;
    ItemBool *mAutoBoldUnderlineItem;
    ItemBool *mSuperScriptItem;
    ItemBool *mAddNonBreakingSpaceInFrenchItem;
};

}

#endif

