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

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

class ProjectLocal : public KConfigSkeleton
{
  public:
    enum PersonRole { Translator, Reviewer, Approver, Undefined };

    ProjectLocal( KSharedConfig::Ptr config = KSharedConfig::openConfig() );
    ~ProjectLocal() override;

    /**
      Set SourceDir
    */
    void setSourceDir( const QString & v )
    {
      if (!isSourceDirImmutable())
        mSourceDir = v;
    }

    /**
      Get SourceDir
    */
    QString sourceDir() const
    {
      return mSourceDir;
    }

    /**
      Is SourceDir Immutable
    */
    bool isSourceDirImmutable() const
    {
      return isImmutable( QStringLiteral( "SourceDir" ) );
    }

    /**
      Set Role
    */
    void setRole( PersonRole v )
    {
      if (!isRoleImmutable())
        mRole = int(v);
    }

    /**
      Get Role
    */
    PersonRole role() const
    {
      return static_cast<PersonRole>(mRole);
    }

    /**
      Is Role Immutable
    */
    bool isRoleImmutable() const
    {
      return isImmutable( QStringLiteral( "Role" ) );
    }

    /**
      Set FirstRun
    */
    void setFirstRun( bool v )
    {
      if (!isFirstRunImmutable())
        mFirstRun = v;
    }

    /**
      Get FirstRun
    */
    bool firstRun() const
    {
      return mFirstRun;
    }

    /**
      Is FirstRun Immutable
    */
    bool isFirstRunImmutable() const
    {
      return isImmutable( QStringLiteral( "FirstRun" ) );
    }

  protected:

    // General
    QString mSourceDir;

    // Personal
    int mRole;
    bool mFirstRun;
};

#endif

