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

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

#include <kuser.h>
#include <kemailsettings.h>

class Prefs : public KConfigSkeleton
{
  public:

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

    /**
      Set Name of the project
    */
    static
    void setAppName( const QString & v )
    {
      if (!self()->isAppNameImmutable())
        self()->mAppName = v;
    }

    /**
      Get Name of the project
    */
    static
    QString appName()
    {
      return self()->mAppName;
    }

    /**
      Is Name of the project Immutable
    */
    static
    bool isAppNameImmutable()
    {
      return self()->isImmutable( QStringLiteral( "appName" ) );
    }

    /**
      Set Project version
    */
    static
    void setAppVersion( const QString & v )
    {
      if (!self()->isAppVersionImmutable())
        self()->mAppVersion = v;
    }

    /**
      Get Project version
    */
    static
    QString appVersion()
    {
      return self()->mAppVersion;
    }

    /**
      Is Project version Immutable
    */
    static
    bool isAppVersionImmutable()
    {
      return self()->isImmutable( QStringLiteral( "appVersion" ) );
    }

    /**
      Set Home dir of the user
    */
    static
    void setUrl( const QString & v )
    {
      if (!self()->isUrlImmutable())
        self()->mUrl = v;
    }

    /**
      Get Home dir of the user
    */
    static
    QString url()
    {
      return self()->mUrl;
    }

    /**
      Is Home dir of the user Immutable
    */
    static
    bool isUrlImmutable()
    {
      return self()->isImmutable( QStringLiteral( "url" ) );
    }

    /**
      Set Name of the user
    */
    static
    void setName( const QString & v )
    {
      if (!self()->isNameImmutable())
        self()->mName = v;
    }

    /**
      Get Name of the user
    */
    static
    QString name()
    {
      return self()->mName;
    }

    /**
      Is Name of the user Immutable
    */
    static
    bool isNameImmutable()
    {
      return self()->isImmutable( QStringLiteral( "name" ) );
    }

    /**
      Set Email of the user
    */
    static
    void setEmail( const QString & v )
    {
      if (!self()->isEmailImmutable())
        self()->mEmail = v;
    }

    /**
      Get Email of the user
    */
    static
    QString email()
    {
      return self()->mEmail;
    }

    /**
      Is Email of the user Immutable
    */
    static
    bool isEmailImmutable()
    {
      return self()->isImmutable( QStringLiteral( "email" ) );
    }

  protected:
    Prefs();
    friend class PrefsHelper;


    // Project
    QString mAppName;
    QString mAppVersion;
    QString mUrl;

    // User
    QString mName;
    QString mEmail;
};

#endif

