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

#include "templateparser_export.h"

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

namespace TemplateParser {

class TEMPLATEPARSER_EXPORT Templates : public KConfigSkeleton
{
  public:

    Templates( const QString & folder );
    ~Templates() override;

    /**
      Set UseCustomTemplates
    */
    void setUseCustomTemplates( bool v )
    {
      if (!isUseCustomTemplatesImmutable())
        mUseCustomTemplates = v;
    }

    /**
      Get UseCustomTemplates
    */
    bool useCustomTemplates() const
    {
      return mUseCustomTemplates;
    }

    /**
      Is UseCustomTemplates Immutable
    */
    bool isUseCustomTemplatesImmutable() const
    {
      return isImmutable( QStringLiteral( "UseCustomTemplates" ) );
    }

    /**
      Get Item object corresponding to UseCustomTemplates()
    */
    ItemBool *useCustomTemplatesItem()
    {
      return mUseCustomTemplatesItem;
    }

    /**
      Set TemplateNewMessage
    */
    void setTemplateNewMessage( const QString & v )
    {
      if (!isTemplateNewMessageImmutable())
        mTemplateNewMessage = v;
    }

    /**
      Get TemplateNewMessage
    */
    QString templateNewMessage() const
    {
      return mTemplateNewMessage;
    }

    /**
      Is TemplateNewMessage Immutable
    */
    bool isTemplateNewMessageImmutable() const
    {
      return isImmutable( QStringLiteral( "TemplateNewMessage" ) );
    }

    /**
      Get Item object corresponding to TemplateNewMessage()
    */
    ItemString *templateNewMessageItem()
    {
      return mTemplateNewMessageItem;
    }

    /**
      Set TemplateReply
    */
    void setTemplateReply( const QString & v )
    {
      if (!isTemplateReplyImmutable())
        mTemplateReply = v;
    }

    /**
      Get TemplateReply
    */
    QString templateReply() const
    {
      return mTemplateReply;
    }

    /**
      Is TemplateReply Immutable
    */
    bool isTemplateReplyImmutable() const
    {
      return isImmutable( QStringLiteral( "TemplateReply" ) );
    }

    /**
      Get Item object corresponding to TemplateReply()
    */
    ItemString *templateReplyItem()
    {
      return mTemplateReplyItem;
    }

    /**
      Set TemplateReplyAll
    */
    void setTemplateReplyAll( const QString & v )
    {
      if (!isTemplateReplyAllImmutable())
        mTemplateReplyAll = v;
    }

    /**
      Get TemplateReplyAll
    */
    QString templateReplyAll() const
    {
      return mTemplateReplyAll;
    }

    /**
      Is TemplateReplyAll Immutable
    */
    bool isTemplateReplyAllImmutable() const
    {
      return isImmutable( QStringLiteral( "TemplateReplyAll" ) );
    }

    /**
      Get Item object corresponding to TemplateReplyAll()
    */
    ItemString *templateReplyAllItem()
    {
      return mTemplateReplyAllItem;
    }

    /**
      Set TemplateForward
    */
    void setTemplateForward( const QString & v )
    {
      if (!isTemplateForwardImmutable())
        mTemplateForward = v;
    }

    /**
      Get TemplateForward
    */
    QString templateForward() const
    {
      return mTemplateForward;
    }

    /**
      Is TemplateForward Immutable
    */
    bool isTemplateForwardImmutable() const
    {
      return isImmutable( QStringLiteral( "TemplateForward" ) );
    }

    /**
      Get Item object corresponding to TemplateForward()
    */
    ItemString *templateForwardItem()
    {
      return mTemplateForwardItem;
    }

    /**
      Set QuoteString
    */
    void setQuoteString( const QString & v )
    {
      if (!isQuoteStringImmutable())
        mQuoteString = v;
    }

    /**
      Get QuoteString
    */
    QString quoteString() const
    {
      return mQuoteString;
    }

    /**
      Is QuoteString Immutable
    */
    bool isQuoteStringImmutable() const
    {
      return isImmutable( QStringLiteral( "QuoteString" ) );
    }

    /**
      Get Item object corresponding to QuoteString()
    */
    ItemString *quoteStringItem()
    {
      return mQuoteStringItem;
    }

  protected:
    QString mParamfolder;

    // Templates #$(folder)
    bool mUseCustomTemplates;
    QString mTemplateNewMessage;
    QString mTemplateReply;
    QString mTemplateReplyAll;
    QString mTemplateForward;
    QString mQuoteString;

  private:
    ItemBool *mUseCustomTemplatesItem;
    ItemString *mTemplateNewMessageItem;
    ItemString *mTemplateReplyItem;
    ItemString *mTemplateReplyAllItem;
    ItemString *mTemplateForwardItem;
    ItemString *mQuoteStringItem;
};

}

#endif

