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

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

#include <KLocalizedString>
#include <QFont>

class kirikiSettings : public KConfigSkeleton
{
  public:

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

    /**
      Set waitTime
    */
    static
    void setWaitTime( int v )
    {
      if (v < 0)
      {
        qDebug() << "setWaitTime: value " << v << " is less than the minimum value of 0";
        v = 0;
      }

      if (v > 2000)
      {
        qDebug() << "setWaitTime: value " << v << " is greater than the maximum value of 2000";
        v = 2000;
      }

      if (!self()->isWaitTimeImmutable())
        self()->mWaitTime = v;
    }

    /**
      Get waitTime
    */
    static
    int waitTime()
    {
      return self()->mWaitTime;
    }

    /**
      Is waitTime Immutable
    */
    static
    bool isWaitTimeImmutable()
    {
      return self()->isImmutable( QStringLiteral( "waitTime" ) );
    }

    /**
      Set numberOfPlayers
    */
    static
    void setNumberOfPlayers( int v )
    {
      if (v < 2)
      {
        qDebug() << "setNumberOfPlayers: value " << v << " is less than the minimum value of 2";
        v = 2;
      }

      if (v > 6)
      {
        qDebug() << "setNumberOfPlayers: value " << v << " is greater than the maximum value of 6";
        v = 6;
      }

      if (!self()->isNumberOfPlayersImmutable())
        self()->mNumberOfPlayers = v;
    }

    /**
      Get numberOfPlayers
    */
    static
    int numberOfPlayers()
    {
      return self()->mNumberOfPlayers;
    }

    /**
      Is numberOfPlayers Immutable
    */
    static
    bool isNumberOfPlayersImmutable()
    {
      return self()->isImmutable( QStringLiteral( "numberOfPlayers" ) );
    }

    /**
      Set startupDemoEnabled
    */
    static
    void setStartupDemoEnabled( bool v )
    {
      if (!self()->isStartupDemoEnabledImmutable())
        self()->mStartupDemoEnabled = v;
    }

    /**
      Get startupDemoEnabled
    */
    static
    bool startupDemoEnabled()
    {
      return self()->mStartupDemoEnabled;
    }

    /**
      Is startupDemoEnabled Immutable
    */
    static
    bool isStartupDemoEnabledImmutable()
    {
      return self()->isImmutable( QStringLiteral( "startupDemoEnabled" ) );
    }

    /**
      Set fontSize
    */
    static
    void setFontSize( int v )
    {
      if (v < 5)
      {
        qDebug() << "setFontSize: value " << v << " is less than the minimum value of 5";
        v = 5;
      }

      if (v > 20)
      {
        qDebug() << "setFontSize: value " << v << " is greater than the maximum value of 20";
        v = 20;
      }

      if (!self()->isFontSizeImmutable())
        self()->mFontSize = v;
    }

    /**
      Get fontSize
    */
    static
    int fontSize()
    {
      return self()->mFontSize;
    }

    /**
      Is fontSize Immutable
    */
    static
    bool isFontSizeImmutable()
    {
      return self()->isImmutable( QStringLiteral( "fontSize" ) );
    }

    /**
      Set rowHeight
    */
    static
    void setRowHeight( int v )
    {

      if (v > 20)
      {
        qDebug() << "setRowHeight: value " << v << " is greater than the maximum value of 20";
        v = 20;
      }

      if (!self()->isRowHeightImmutable())
        self()->mRowHeight = v;
    }

    /**
      Get rowHeight
    */
    static
    int rowHeight()
    {
      return self()->mRowHeight;
    }

    /**
      Is rowHeight Immutable
    */
    static
    bool isRowHeightImmutable()
    {
      return self()->isImmutable( QStringLiteral( "rowHeight" ) );
    }

    /**
      Set player1Name
    */
    static
    void setPlayer1Name( const QString & v )
    {
      if (!self()->isPlayer1NameImmutable())
        self()->mPlayer1Name = v;
    }

    /**
      Get player1Name
    */
    static
    QString player1Name()
    {
      return self()->mPlayer1Name;
    }

    /**
      Is player1Name Immutable
    */
    static
    bool isPlayer1NameImmutable()
    {
      return self()->isImmutable( QStringLiteral( "player1Name" ) );
    }

    /**
      Set player2Name
    */
    static
    void setPlayer2Name( const QString & v )
    {
      if (!self()->isPlayer2NameImmutable())
        self()->mPlayer2Name = v;
    }

    /**
      Get player2Name
    */
    static
    QString player2Name()
    {
      return self()->mPlayer2Name;
    }

    /**
      Is player2Name Immutable
    */
    static
    bool isPlayer2NameImmutable()
    {
      return self()->isImmutable( QStringLiteral( "player2Name" ) );
    }

    /**
      Set player3Name
    */
    static
    void setPlayer3Name( const QString & v )
    {
      if (!self()->isPlayer3NameImmutable())
        self()->mPlayer3Name = v;
    }

    /**
      Get player3Name
    */
    static
    QString player3Name()
    {
      return self()->mPlayer3Name;
    }

    /**
      Is player3Name Immutable
    */
    static
    bool isPlayer3NameImmutable()
    {
      return self()->isImmutable( QStringLiteral( "player3Name" ) );
    }

    /**
      Set player4Name
    */
    static
    void setPlayer4Name( const QString & v )
    {
      if (!self()->isPlayer4NameImmutable())
        self()->mPlayer4Name = v;
    }

    /**
      Get player4Name
    */
    static
    QString player4Name()
    {
      return self()->mPlayer4Name;
    }

    /**
      Is player4Name Immutable
    */
    static
    bool isPlayer4NameImmutable()
    {
      return self()->isImmutable( QStringLiteral( "player4Name" ) );
    }

    /**
      Set player5Name
    */
    static
    void setPlayer5Name( const QString & v )
    {
      if (!self()->isPlayer5NameImmutable())
        self()->mPlayer5Name = v;
    }

    /**
      Get player5Name
    */
    static
    QString player5Name()
    {
      return self()->mPlayer5Name;
    }

    /**
      Is player5Name Immutable
    */
    static
    bool isPlayer5NameImmutable()
    {
      return self()->isImmutable( QStringLiteral( "player5Name" ) );
    }

    /**
      Set player6Name
    */
    static
    void setPlayer6Name( const QString & v )
    {
      if (!self()->isPlayer6NameImmutable())
        self()->mPlayer6Name = v;
    }

    /**
      Get player6Name
    */
    static
    QString player6Name()
    {
      return self()->mPlayer6Name;
    }

    /**
      Is player6Name Immutable
    */
    static
    bool isPlayer6NameImmutable()
    {
      return self()->isImmutable( QStringLiteral( "player6Name" ) );
    }

    /**
      Set player1IsHuman
    */
    static
    void setPlayer1IsHuman( bool v )
    {
      if (!self()->isPlayer1IsHumanImmutable())
        self()->mPlayer1IsHuman = v;
    }

    /**
      Get player1IsHuman
    */
    static
    bool player1IsHuman()
    {
      return self()->mPlayer1IsHuman;
    }

    /**
      Is player1IsHuman Immutable
    */
    static
    bool isPlayer1IsHumanImmutable()
    {
      return self()->isImmutable( QStringLiteral( "player1IsHuman" ) );
    }

    /**
      Set player2IsHuman
    */
    static
    void setPlayer2IsHuman( bool v )
    {
      if (!self()->isPlayer2IsHumanImmutable())
        self()->mPlayer2IsHuman = v;
    }

    /**
      Get player2IsHuman
    */
    static
    bool player2IsHuman()
    {
      return self()->mPlayer2IsHuman;
    }

    /**
      Is player2IsHuman Immutable
    */
    static
    bool isPlayer2IsHumanImmutable()
    {
      return self()->isImmutable( QStringLiteral( "player2IsHuman" ) );
    }

    /**
      Set player3IsHuman
    */
    static
    void setPlayer3IsHuman( bool v )
    {
      if (!self()->isPlayer3IsHumanImmutable())
        self()->mPlayer3IsHuman = v;
    }

    /**
      Get player3IsHuman
    */
    static
    bool player3IsHuman()
    {
      return self()->mPlayer3IsHuman;
    }

    /**
      Is player3IsHuman Immutable
    */
    static
    bool isPlayer3IsHumanImmutable()
    {
      return self()->isImmutable( QStringLiteral( "player3IsHuman" ) );
    }

    /**
      Set player4IsHuman
    */
    static
    void setPlayer4IsHuman( bool v )
    {
      if (!self()->isPlayer4IsHumanImmutable())
        self()->mPlayer4IsHuman = v;
    }

    /**
      Get player4IsHuman
    */
    static
    bool player4IsHuman()
    {
      return self()->mPlayer4IsHuman;
    }

    /**
      Is player4IsHuman Immutable
    */
    static
    bool isPlayer4IsHumanImmutable()
    {
      return self()->isImmutable( QStringLiteral( "player4IsHuman" ) );
    }

    /**
      Set player5IsHuman
    */
    static
    void setPlayer5IsHuman( bool v )
    {
      if (!self()->isPlayer5IsHumanImmutable())
        self()->mPlayer5IsHuman = v;
    }

    /**
      Get player5IsHuman
    */
    static
    bool player5IsHuman()
    {
      return self()->mPlayer5IsHuman;
    }

    /**
      Is player5IsHuman Immutable
    */
    static
    bool isPlayer5IsHumanImmutable()
    {
      return self()->isImmutable( QStringLiteral( "player5IsHuman" ) );
    }

    /**
      Set player6IsHuman
    */
    static
    void setPlayer6IsHuman( bool v )
    {
      if (!self()->isPlayer6IsHumanImmutable())
        self()->mPlayer6IsHuman = v;
    }

    /**
      Get player6IsHuman
    */
    static
    bool player6IsHuman()
    {
      return self()->mPlayer6IsHuman;
    }

    /**
      Is player6IsHuman Immutable
    */
    static
    bool isPlayer6IsHumanImmutable()
    {
      return self()->isImmutable( QStringLiteral( "player6IsHuman" ) );
    }

  protected:
    kirikiSettings();
    friend class kirikiSettingsHelper;


    // general
    int mWaitTime;
    int mNumberOfPlayers;
    bool mStartupDemoEnabled;
    int mFontSize;
    int mRowHeight;
    QString mPlayer1Name;
    QString mPlayer2Name;
    QString mPlayer3Name;
    QString mPlayer4Name;
    QString mPlayer5Name;
    QString mPlayer6Name;
    bool mPlayer1IsHuman;
    bool mPlayer2IsHuman;
    bool mPlayer3IsHuman;
    bool mPlayer4IsHuman;
    bool mPlayer5IsHuman;
    bool mPlayer6IsHuman;
};

#endif

