// This file is generated by kconfig_compiler from kanagram.kcfg.
// All changes you do to this file will be lost.
#ifndef KANAGRAMSETTINGS_H
#define KANAGRAMSETTINGS_H

#include "kanagram_engine_export.h"

#include <kcoreconfigskeleton.h>
#include <kdebug.h>

class KANAGRAM_ENGINE_EXPORT KanagramSettings : public KCoreConfigSkeleton
{
  public:

    static KanagramSettings *self();
    ~KanagramSettings();

    /**
      Set This setting stores the currently selected Category.
    */
    static
    void setCurrentCategory( int v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "currentCategory" ) ))
        self()->mCurrentCategory = v;
    }

    /**
      Get This setting stores the currently selected Category.
    */
    static
    int currentCategory()
    {
      return self()->mCurrentCategory;
    }

    /**
      Set This setting allows you to set in seconds how long Kanagram's hint bubble is shown.
    */
    static
    void setHintHideTime( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "hintHideTime" ) ))
        self()->mHintHideTime = v;
    }

    /**
      Get This setting allows you to set in seconds how long Kanagram's hint bubble is shown.
    */
    static
    QString hintHideTime()
    {
      return self()->mHintHideTime;
    }

    /**
      Set This setting allows you to set in seconds how much time is available for resolving the anagram.
    */
    static
    void setResolveTime( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "resolveTime" ) ))
        self()->mResolveTime = v;
    }

    /**
      Get This setting allows you to set in seconds how much time is available for resolving the anagram.
    */
    static
    QString resolveTime()
    {
      return self()->mResolveTime;
    }

    /**
      Set Turns sounds on/off.
    */
    static
    void setUseSounds( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "useSounds" ) ))
        self()->mUseSounds = v;
    }

    /**
      Get Turns sounds on/off.
    */
    static
    bool useSounds()
    {
      return self()->mUseSounds;
    }

    /**
      Set Use uppercase.
    */
    static
    void setUppercaseOnly( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "uppercaseOnly" ) ))
        self()->mUppercaseOnly = v;
    }

    /**
      Get Use uppercase.
    */
    static
    bool uppercaseOnly()
    {
      return self()->mUppercaseOnly;
    }

    /**
      Set Set the default vocabulary
    */
    static
    void setDefaultVocabulary( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "defaultVocabulary" ) ))
        self()->mDefaultVocabulary = v;
    }

    /**
      Get Set the default vocabulary
    */
    static
    QString defaultVocabulary()
    {
      return self()->mDefaultVocabulary;
    }

    /**
      Set Set the default translation
    */
    static
    void setDataLanguage( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "dataLanguage" ) ))
        self()->mDataLanguage = v;
    }

    /**
      Get Set the default translation
    */
    static
    QString dataLanguage()
    {
      return self()->mDataLanguage;
    }

  protected:
    KanagramSettings();
    friend class KanagramSettingsHelper;


    // kanagram
    int mCurrentCategory;
    QString mHintHideTime;
    QString mResolveTime;
    bool mUseSounds;
    bool mUppercaseOnly;
    QString mDefaultVocabulary;
    QString mDataLanguage;

  private:
};

#endif

