// This file is generated by kconfig_compiler_kf5 from kwin4.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 <KLocalizedString>
class Prefs : public KConfigSkeleton
{
  public:

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

    /**
      Set Network connection port
    */
    static
    void setPort( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "port" ) ))
        self()->mPort = v;
    }

    /**
      Get Network connection port
    */
    static
    int port()
    {
      return self()->mPort;
    }

    /**
      Set Game name
    */
    static
    void setGamename( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "gamename" ) ))
        self()->mGamename = v;
    }

    /**
      Get Game name
    */
    static
    QString gamename()
    {
      return self()->mGamename;
    }

    /**
      Set Network connection host
    */
    static
    void setHost( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "host" ) ))
        self()->mHost = v;
    }

    /**
      Get Network connection host
    */
    static
    QString host()
    {
      return self()->mHost;
    }

    /**
      Set Change the strength of the computer player.
    */
    static
    void setLevel( int v )
    {
      if (v < 1)
      {
        qDebug() << "setLevel: value " << v << " is less than the minimum value of 1";
        v = 1;
      }

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

      if (!self()->isImmutable( QStringLiteral( "level" ) ))
        self()->mLevel = v;
    }

    /**
      Get Change the strength of the computer player.
    */
    static
    int level()
    {
      return self()->mLevel;
    }

    /**
      Set Player 1 name
    */
    static
    void setName1( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "Name1" ) ))
        self()->mName1 = v;
    }

    /**
      Get Player 1 name
    */
    static
    QString name1()
    {
      return self()->mName1;
    }

    /**
      Set Player 2 name
    */
    static
    void setName2( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "Name2" ) ))
        self()->mName2 = v;
    }

    /**
      Get Player 2 name
    */
    static
    QString name2()
    {
      return self()->mName2;
    }

    /**
      Set input0mouse
    */
    static
    void setInput0mouse( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "input0mouse" ) ))
        self()->mInput0mouse = v;
    }

    /**
      Get input0mouse
    */
    static
    bool input0mouse()
    {
      return self()->mInput0mouse;
    }

    /**
      Set input0key
    */
    static
    void setInput0key( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "input0key" ) ))
        self()->mInput0key = v;
    }

    /**
      Get input0key
    */
    static
    bool input0key()
    {
      return self()->mInput0key;
    }

    /**
      Set input0ai
    */
    static
    void setInput0ai( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "input0ai" ) ))
        self()->mInput0ai = v;
    }

    /**
      Get input0ai
    */
    static
    bool input0ai()
    {
      return self()->mInput0ai;
    }

    /**
      Set input1mouse
    */
    static
    void setInput1mouse( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "input1mouse" ) ))
        self()->mInput1mouse = v;
    }

    /**
      Get input1mouse
    */
    static
    bool input1mouse()
    {
      return self()->mInput1mouse;
    }

    /**
      Set input1key
    */
    static
    void setInput1key( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "input1key" ) ))
        self()->mInput1key = v;
    }

    /**
      Get input1key
    */
    static
    bool input1key()
    {
      return self()->mInput1key;
    }

    /**
      Set input1ai
    */
    static
    void setInput1ai( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "input1ai" ) ))
        self()->mInput1ai = v;
    }

    /**
      Get input1ai
    */
    static
    bool input1ai()
    {
      return self()->mInput1ai;
    }

    /**
      Set startcolourred
    */
    static
    void setStartcolourred( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "startcolourred" ) ))
        self()->mStartcolourred = v;
    }

    /**
      Get startcolourred
    */
    static
    bool startcolourred()
    {
      return self()->mStartcolourred;
    }

    /**
      Set startcolouryellow
    */
    static
    void setStartcolouryellow( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "startcolouryellow" ) ))
        self()->mStartcolouryellow = v;
    }

    /**
      Get startcolouryellow
    */
    static
    bool startcolouryellow()
    {
      return self()->mStartcolouryellow;
    }

    /**
      Set learning
    */
    static
    void setLearning( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "learning" ) ))
        self()->mLearning = v;
    }

    /**
      Get learning
    */
    static
    bool learning()
    {
      return self()->mLearning;
    }

    /**
      Set ailock
    */
    static
    void setAilock( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "ailock" ) ))
        self()->mAilock = v;
    }

    /**
      Get ailock
    */
    static
    bool ailock()
    {
      return self()->mAilock;
    }

  protected:
    Prefs();
    friend class PrefsHelper;


    // Parameter
    int mPort;
    QString mGamename;
    QString mHost;
    int mLevel;
    QString mName1;
    QString mName2;
    bool mInput0mouse;
    bool mInput0key;
    bool mInput0ai;
    bool mInput1mouse;
    bool mInput1key;
    bool mInput1ai;
    bool mStartcolourred;
    bool mStartcolouryellow;
    bool mLearning;
    bool mAilock;

  private:
};

#endif

