// This file is generated by kconfig_compiler_kf6 from projectsettings.kcfg.
// All changes you do to this file will be lost.
#ifndef CLAZY_PROJECTSETTINGS_H
#define CLAZY_PROJECTSETTINGS_H

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

#include "checksdb.h"

namespace Clazy {

class ProjectSettings : public KConfigSkeleton
{
  public:

    ProjectSettings( );
    ~ProjectSettings() override;

    /**
      Set CheckSetSelection
    */
    void setCheckSetSelection( const QString & v )
    {
      if (!isCheckSetSelectionImmutable())
        mCheckSetSelection = v;
    }

    /**
      Get CheckSetSelection
    */
    QString checkSetSelection() const
    {
      return mCheckSetSelection;
    }

    /**
      Is CheckSetSelection Immutable
    */
    bool isCheckSetSelectionImmutable() const
    {
      return isImmutable( QStringLiteral( "checkSetSelection" ) );
    }

    /**
      Set checks
    */
    void setChecks( const QString & v )
    {
      if (!isChecksImmutable())
        mChecks = v;
    }

    /**
      Get checks
    */
    QString checks() const
    {
      return mChecks;
    }

    /**
      Is checks Immutable
    */
    bool isChecksImmutable() const
    {
      return isImmutable( QStringLiteral( "checks" ) );
    }

    /**
      Set onlyQt
    */
    void setOnlyQt( bool v )
    {
      if (!isOnlyQtImmutable())
        mOnlyQt = v;
    }

    /**
      Get onlyQt
    */
    bool onlyQt() const
    {
      return mOnlyQt;
    }

    /**
      Is onlyQt Immutable
    */
    bool isOnlyQtImmutable() const
    {
      return isImmutable( QStringLiteral( "onlyQt" ) );
    }

    /**
      Set qtDeveloper
    */
    void setQtDeveloper( bool v )
    {
      if (!isQtDeveloperImmutable())
        mQtDeveloper = v;
    }

    /**
      Get qtDeveloper
    */
    bool qtDeveloper() const
    {
      return mQtDeveloper;
    }

    /**
      Is qtDeveloper Immutable
    */
    bool isQtDeveloperImmutable() const
    {
      return isImmutable( QStringLiteral( "qtDeveloper" ) );
    }

    /**
      Set qt4Compat
    */
    void setQt4Compat( bool v )
    {
      if (!isQt4CompatImmutable())
        mQt4Compat = v;
    }

    /**
      Get qt4Compat
    */
    bool qt4Compat() const
    {
      return mQt4Compat;
    }

    /**
      Is qt4Compat Immutable
    */
    bool isQt4CompatImmutable() const
    {
      return isImmutable( QStringLiteral( "qt4Compat" ) );
    }

    /**
      Set visitImplicitCode
    */
    void setVisitImplicitCode( bool v )
    {
      if (!isVisitImplicitCodeImmutable())
        mVisitImplicitCode = v;
    }

    /**
      Get visitImplicitCode
    */
    bool visitImplicitCode() const
    {
      return mVisitImplicitCode;
    }

    /**
      Is visitImplicitCode Immutable
    */
    bool isVisitImplicitCodeImmutable() const
    {
      return isImmutable( QStringLiteral( "visitImplicitCode" ) );
    }

    /**
      Set ignoreIncludedFiles
    */
    void setIgnoreIncludedFiles( bool v )
    {
      if (!isIgnoreIncludedFilesImmutable())
        mIgnoreIncludedFiles = v;
    }

    /**
      Get ignoreIncludedFiles
    */
    bool ignoreIncludedFiles() const
    {
      return mIgnoreIncludedFiles;
    }

    /**
      Is ignoreIncludedFiles Immutable
    */
    bool isIgnoreIncludedFilesImmutable() const
    {
      return isImmutable( QStringLiteral( "ignoreIncludedFiles" ) );
    }

    /**
      Set headerFilter
    */
    void setHeaderFilter( const QString & v )
    {
      if (!isHeaderFilterImmutable())
        mHeaderFilter = v;
    }

    /**
      Get headerFilter
    */
    QString headerFilter() const
    {
      return mHeaderFilter;
    }

    /**
      Is headerFilter Immutable
    */
    bool isHeaderFilterImmutable() const
    {
      return isImmutable( QStringLiteral( "headerFilter" ) );
    }

    /**
      Set enableAllFixits
    */
    void setEnableAllFixits( bool v )
    {
      if (!isEnableAllFixitsImmutable())
        mEnableAllFixits = v;
    }

    /**
      Get enableAllFixits
    */
    bool enableAllFixits() const
    {
      return mEnableAllFixits;
    }

    /**
      Is enableAllFixits Immutable
    */
    bool isEnableAllFixitsImmutable() const
    {
      return isImmutable( QStringLiteral( "enableAllFixits" ) );
    }

    /**
      Set noInplaceFixits
    */
    void setNoInplaceFixits( bool v )
    {
      if (!isNoInplaceFixitsImmutable())
        mNoInplaceFixits = v;
    }

    /**
      Get noInplaceFixits
    */
    bool noInplaceFixits() const
    {
      return mNoInplaceFixits;
    }

    /**
      Is noInplaceFixits Immutable
    */
    bool isNoInplaceFixitsImmutable() const
    {
      return isImmutable( QStringLiteral( "noInplaceFixits" ) );
    }

    /**
      Set extraAppend
    */
    void setExtraAppend( const QString & v )
    {
      if (!isExtraAppendImmutable())
        mExtraAppend = v;
    }

    /**
      Get extraAppend
    */
    QString extraAppend() const
    {
      return mExtraAppend;
    }

    /**
      Is extraAppend Immutable
    */
    bool isExtraAppendImmutable() const
    {
      return isImmutable( QStringLiteral( "extraAppend" ) );
    }

    /**
      Set extraPrepend
    */
    void setExtraPrepend( const QString & v )
    {
      if (!isExtraPrependImmutable())
        mExtraPrepend = v;
    }

    /**
      Get extraPrepend
    */
    QString extraPrepend() const
    {
      return mExtraPrepend;
    }

    /**
      Is extraPrepend Immutable
    */
    bool isExtraPrependImmutable() const
    {
      return isImmutable( QStringLiteral( "extraPrepend" ) );
    }

    /**
      Set extraClazy
    */
    void setExtraClazy( const QString & v )
    {
      if (!isExtraClazyImmutable())
        mExtraClazy = v;
    }

    /**
      Get extraClazy
    */
    QString extraClazy() const
    {
      return mExtraClazy;
    }

    /**
      Is extraClazy Immutable
    */
    bool isExtraClazyImmutable() const
    {
      return isImmutable( QStringLiteral( "extraClazy" ) );
    }

  protected:

    // Clazy
    QString mCheckSetSelection;
    QString mChecks;
    bool mOnlyQt;
    bool mQtDeveloper;
    bool mQt4Compat;
    bool mVisitImplicitCode;
    bool mIgnoreIncludedFiles;
    QString mHeaderFilter;
    bool mEnableAllFixits;
    bool mNoInplaceFixits;
    QString mExtraAppend;
    QString mExtraPrepend;
    QString mExtraClazy;
};

}

#endif

