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

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

namespace Ksirk {

class KsirkSettings : public KConfigSkeleton
{
  public:

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

    /**
      Set The sprites speed: slow, normal, quick, immediate
    */
    static
    void setSpritesSpeed( int v )
    {
      if (!self()->isSpritesSpeedImmutable())
        self()->mSpritesSpeed = v;
    }

    /**
      Get The sprites speed: slow, normal, quick, immediate
    */
    static
    int spritesSpeed()
    {
      return self()->mSpritesSpeed;
    }

    /**
      Is The sprites speed: slow, normal, quick, immediate Immutable
    */
    static
    bool isSpritesSpeedImmutable()
    {
      return self()->isImmutable( QStringLiteral( "spritesSpeed" ) );
    }

    /**
      Set If true, sounds are played; they are not otherwise.
    */
    static
    void setSoundEnabled( bool v )
    {
      if (!self()->isSoundEnabledImmutable())
        self()->mSoundEnabled = v;
    }

    /**
      Get If true, sounds are played; they are not otherwise.
    */
    static
    bool soundEnabled()
    {
      return self()->mSoundEnabled;
    }

    /**
      Is If true, sounds are played; they are not otherwise. Immutable
    */
    static
    bool isSoundEnabledImmutable()
    {
      return self()->isImmutable( QStringLiteral( "soundEnabled" ) );
    }

    /**
      Set If true, help is displayed; they are not otherwise.
    */
    static
    void setHelpEnabled( bool v )
    {
      if (!self()->isHelpEnabledImmutable())
        self()->mHelpEnabled = v;
    }

    /**
      Get If true, help is displayed; they are not otherwise.
    */
    static
    bool helpEnabled()
    {
      return self()->mHelpEnabled;
    }

    /**
      Is If true, help is displayed; they are not otherwise. Immutable
    */
    static
    bool isHelpEnabledImmutable()
    {
      return self()->isImmutable( QStringLiteral( "helpEnabled" ) );
    }

    /**
      Set If true, the number of armies is displayed on each country.
    */
    static
    void setShowArmiesNumbers( bool v )
    {
      if (!self()->isShowArmiesNumbersImmutable())
        self()->mShowArmiesNumbers = v;
    }

    /**
      Get If true, the number of armies is displayed on each country.
    */
    static
    bool showArmiesNumbers()
    {
      return self()->mShowArmiesNumbers;
    }

    /**
      Is If true, the number of armies is displayed on each country. Immutable
    */
    static
    bool isShowArmiesNumbersImmutable()
    {
      return self()->isImmutable( QStringLiteral( "showArmiesNumbers" ) );
    }

    /**
      Set The graphical theme to be used.
    */
    static
    void setTheme( const QString & v )
    {
      if (!self()->isThemeImmutable())
        self()->mTheme = v;
    }

    /**
      Get The graphical theme to be used.
    */
    static
    QString theme()
    {
      return self()->mTheme;
    }

    /**
      Is The graphical theme to be used. Immutable
    */
    static
    bool isThemeImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Theme" ) );
    }

  protected:
    KsirkSettings();
    friend class KsirkSettingsHelper;


    // General
    int mSpritesSpeed;
    bool mSoundEnabled;
    bool mHelpEnabled;
    bool mShowArmiesNumbers;
    QString mTheme;
};

}

#endif

