// This file is generated by kconfig_compiler_kf5 from granatier.kcfg.
// All changes you do to this file will be lost.
#ifndef SETTINGS_H
#define SETTINGS_H

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

class Settings : public KConfigSkeleton
{
  public:

    static Settings *self();
    ~Settings();

    /**
      Set Check if it is the first run of the game.
    */
    static
    void setFirstRun( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "FirstRun" ) ))
        self()->mFirstRun = v;
    }

    /**
      Get Check if it is the first run of the game.
    */
    static
    int firstRun()
    {
      return self()->mFirstRun;
    }

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

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

    /**
      Set The arena to be used.
    */
    static
    void setArena( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "Arena" ) ))
        self()->mArena = v;
    }

    /**
      Get The arena to be used.
    */
    static
    QString arena()
    {
      return self()->mArena;
    }

    /**
      Set Use random arenas.
    */
    static
    void setRandomArenaMode( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "RandomArenaMode" ) ))
        self()->mRandomArenaMode = v;
    }

    /**
      Get Use random arenas.
    */
    static
    bool randomArenaMode()
    {
      return self()->mRandomArenaMode;
    }

    /**
      Set List of arenas, used in random mode.
    */
    static
    void setRandomArenaModeArenaList( const QStringList & v )
    {
      if (!self()->isImmutable( QStringLiteral( "RandomArenaModeArenaList" ) ))
        self()->mRandomArenaModeArenaList = v;
    }

    /**
      Get List of arenas, used in random mode.
    */
    static
    QStringList randomArenaModeArenaList()
    {
      return self()->mRandomArenaModeArenaList;
    }

    /**
      Set The points a user needs to win the game.
    */
    static
    void setPointsToWin( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "PointsToWin" ) ))
        self()->mPointsToWin = v;
    }

    /**
      Get The points a user needs to win the game.
    */
    static
    int pointsToWin()
    {
      return self()->mPointsToWin;
    }

    /**
      Set Time for a round.
    */
    static
    void setRoundTime( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "RoundTime" ) ))
        self()->mRoundTime = v;
    }

    /**
      Get Time for a round.
    */
    static
    int roundTime()
    {
      return self()->mRoundTime;
    }

    /**
      Set The initial speed.
    */
    static
    void setInitialSpeed( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "InitialSpeed" ) ))
        self()->mInitialSpeed = v;
    }

    /**
      Get The initial speed.
    */
    static
    int initialSpeed()
    {
      return self()->mInitialSpeed;
    }

    /**
      Set The initial bomb power.
    */
    static
    void setInitialBombPower( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "InitialBombPower" ) ))
        self()->mInitialBombPower = v;
    }

    /**
      Get The initial bomb power.
    */
    static
    int initialBombPower()
    {
      return self()->mInitialBombPower;
    }

    /**
      Set The initial bomb armory.
    */
    static
    void setInitialBombArmory( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "InitialBombArmory" ) ))
        self()->mInitialBombArmory = v;
    }

    /**
      Get The initial bomb armory.
    */
    static
    int initialBombArmory()
    {
      return self()->mInitialBombArmory;
    }

    /**
      Set Whether sound effects should be played.
    */
    static
    void setSounds( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "Sounds" ) ))
        self()->mSounds = v;
    }

    /**
      Get Whether sound effects should be played.
    */
    static
    bool sounds()
    {
      return self()->mSounds;
    }

    /**
      Set Whether to use the Wilhelm Scream for dying players.
    */
    static
    void setUseWilhelmScream( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "UseWilhelmScream" ) ))
        self()->mUseWilhelmScream = v;
    }

    /**
      Get Whether to use the Wilhelm Scream for dying players.
    */
    static
    bool useWilhelmScream()
    {
      return self()->mUseWilhelmScream;
    }

    /**
      Set This is a dummy setting for player setup.
    */
    static
    void setDummy( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "Dummy" ) ))
        self()->mDummy = v;
    }

    /**
      Get This is a dummy setting for player setup.
    */
    static
    int dummy()
    {
      return self()->mDummy;
    }

    /**
      Set This is only for the artists to make their life easier.
    */
    static
    void setShowAllTiles( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "ShowAllTiles" ) ))
        self()->mShowAllTiles = v;
    }

    /**
      Get This is only for the artists to make their life easier.
    */
    static
    int showAllTiles()
    {
      return self()->mShowAllTiles;
    }

    /**
      Set This is only for the artists to make their life easier.
    */
    static
    void setBlastTime1( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "BlastTime1" ) ))
        self()->mBlastTime1 = v;
    }

    /**
      Get This is only for the artists to make their life easier.
    */
    static
    int blastTime1()
    {
      return self()->mBlastTime1;
    }

    /**
      Set This is only for the artists to make their life easier.
    */
    static
    void setBlastTime2( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "BlastTime2" ) ))
        self()->mBlastTime2 = v;
    }

    /**
      Get This is only for the artists to make their life easier.
    */
    static
    int blastTime2()
    {
      return self()->mBlastTime2;
    }

    /**
      Set This is only for the artists to make their life easier.
    */
    static
    void setBlastTime3( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "BlastTime3" ) ))
        self()->mBlastTime3 = v;
    }

    /**
      Get This is only for the artists to make their life easier.
    */
    static
    int blastTime3()
    {
      return self()->mBlastTime3;
    }

    /**
      Set This is only for the artists to make their life easier.
    */
    static
    void setBlastTime4( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "BlastTime4" ) ))
        self()->mBlastTime4 = v;
    }

    /**
      Get This is only for the artists to make their life easier.
    */
    static
    int blastTime4()
    {
      return self()->mBlastTime4;
    }

    /**
      Set This is only for the artists to make their life easier.
    */
    static
    void setBlastTime5( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "BlastTime5" ) ))
        self()->mBlastTime5 = v;
    }

    /**
      Get This is only for the artists to make their life easier.
    */
    static
    int blastTime5()
    {
      return self()->mBlastTime5;
    }

  protected:
    Settings();
    friend class SettingsHelper;


    // General
    int mFirstRun;
    QString mTheme;
    QString mArena;
    bool mRandomArenaMode;
    QStringList mRandomArenaModeArenaList;
    int mPointsToWin;
    int mRoundTime;
    int mInitialSpeed;
    int mInitialBombPower;
    int mInitialBombArmory;
    bool mSounds;
    bool mUseWilhelmScream;
    int mDummy;
    int mShowAllTiles;
    int mBlastTime1;
    int mBlastTime2;
    int mBlastTime3;
    int mBlastTime4;
    int mBlastTime5;

  private:
};

#endif

