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

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

class Preferences : public KConfigSkeleton
{
  public:
    class EnumAnimationSpeed
    {
      public:
      enum type { Slow, Normal, Fast, COUNT };
    };

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

    /**
      Set The speed of the animations.
    */
    static
    void setAnimationSpeed( int v )
    {
      if (!self()->isAnimationSpeedImmutable())
        self()->mAnimationSpeed = v;
    }

    /**
      Get The speed of the animations.
    */
    static
    int animationSpeed()
    {
      return self()->mAnimationSpeed;
    }

    /**
      Is The speed of the animations. Immutable
    */
    static
    bool isAnimationSpeedImmutable()
    {
      return self()->isImmutable( QStringLiteral( "AnimationSpeed" ) );
    }

    /**
      Set Whether to play competitively in contrast to casually.
    */
    static
    void setCompetitiveGameChoice( bool v )
    {
      if (!self()->isCompetitiveGameChoiceImmutable())
        self()->mCompetitiveGameChoice = v;
    }

    /**
      Get Whether to play competitively in contrast to casually.
    */
    static
    bool competitiveGameChoice()
    {
      return self()->mCompetitiveGameChoice;
    }

    /**
      Is Whether to play competitively in contrast to casually. Immutable
    */
    static
    bool isCompetitiveGameChoiceImmutable()
    {
      return self()->isImmutable( QStringLiteral( "CompetitiveGameChoice" ) );
    }

    /**
      Set Whether to use colored chips instead of black and white ones.
    */
    static
    void setUseColoredChips( bool v )
    {
      if (!self()->isUseColoredChipsImmutable())
        self()->mUseColoredChips = v;
    }

    /**
      Get Whether to use colored chips instead of black and white ones.
    */
    static
    bool useColoredChips()
    {
      return self()->mUseColoredChips;
    }

    /**
      Is Whether to use colored chips instead of black and white ones. Immutable
    */
    static
    bool isUseColoredChipsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "UseColoredChips" ) );
    }

  protected:
    Preferences();
    friend class PreferencesHelper;


    // Game
    int mAnimationSpeed;
    bool mCompetitiveGameChoice;
    bool mUseColoredChips;
};

#endif

