// This file is generated by tdeconfig_compiler from khangman.kcfg.
// All changes you do to this file will be lost.
#ifndef PREFS_H
#define PREFS_H

#include <kstandarddirs.h>
#include <tqdir.h>

#include <tdeconfigskeleton.h>
#include <kdebug.h>

class Prefs : public TDEConfigSkeleton
{
  public:
    class EnumMode
    {
      public:
      enum type { sea, desert, COUNT };
    };

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

    /**
      Set Level
    */
    static
    void setCurrentLevel( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "CurrentLevel" ) ))
        self()->mCurrentLevel = v;
    }

    /**
      Get Level
    */
    static
    int currentLevel()
    {
      return self()->mCurrentLevel;
    }

    /**
      Set LevelFile
    */
    static
    void setLevelFile( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "LevelFile" ) ))
        self()->mLevelFile = v;
    }

    /**
      Get LevelFile
    */
    static
    TQString levelFile()
    {
      return self()->mLevelFile;
    }

    /**
      Set Show the characters toolbar
    */
    static
    void setShowCharToolbar( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ShowCharToolbar" ) ))
        self()->mShowCharToolbar = v;
    }

    /**
      Get Show the characters toolbar
    */
    static
    bool showCharToolbar()
    {
      return self()->mShowCharToolbar;
    }

    /**
      Set The language selected by the user
    */
    static
    void setSelectedLanguage( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "SelectedLanguage" ) ))
        self()->mSelectedLanguage = v;
    }

    /**
      Get The language selected by the user
    */
    static
    TQString selectedLanguage()
    {
      return self()->mSelectedLanguage;
    }

    /**
      Set Background theme
    */
    static
    void setMode( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "Mode" ) ))
        self()->mMode = v;
    }

    /**
      Get Background theme
    */
    static
    int mode()
    {
      return self()->mMode;
    }

    /**
      Set Allow Only One Instance of Each Letter to be replaced in the word
    */
    static
    void setOneLetter( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "OneLetter" ) ))
        self()->mOneLetter = v;
    }

    /**
      Get Allow Only One Instance of Each Letter to be replaced in the word
    */
    static
    bool oneLetter()
    {
      return self()->mOneLetter;
    }

    /**
      Set Do not display the 'Congratulations You won!' dialog
    */
    static
    void setWonDialog( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "WonDialog" ) ))
        self()->mWonDialog = v;
    }

    /**
      Get Do not display the 'Congratulations You won!' dialog
    */
    static
    bool wonDialog()
    {
      return self()->mWonDialog;
    }

    /**
      Set Enable Sounds on New Game and Win Game
    */
    static
    void setSound( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "Sound" ) ))
        self()->mSound = v;
    }

    /**
      Get Enable Sounds on New Game and Win Game
    */
    static
    bool sound()
    {
      return self()->mSound;
    }

    /**
      Set the time to display the Hint KPassiveTooltip, in seconds
    */
    static
    void setHintTimer( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "HintTimer" ) ))
        self()->mHintTimer = v;
    }

    /**
      Get the time to display the Hint KPassiveTooltip, in seconds
    */
    static
    int hintTimer()
    {
      return self()->mHintTimer;
    }

    /**
      Set the time to display the Missed KPassivePopup, in seconds
    */
    static
    void setMissedTimer( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "MissedTimer" ) ))
        self()->mMissedTimer = v;
    }

    /**
      Get the time to display the Missed KPassivePopup, in seconds
    */
    static
    int missedTimer()
    {
      return self()->mMissedTimer;
    }

    /**
      Set Enable Hint mode if available i.e. only if hintBool == true
    */
    static
    void setHint( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "Hint" ) ))
        self()->mHint = v;
    }

    /**
      Get Enable Hint mode if available i.e. only if hintBool == true
    */
    static
    bool hint()
    {
      return self()->mHint;
    }

    /**
      Set Type accented letters separately from normal letters
    */
    static
    void setAccentedLetters( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "AccentedLetters" ) ))
        self()->mAccentedLetters = v;
    }

    /**
      Get Type accented letters separately from normal letters
    */
    static
    bool accentedLetters()
    {
      return self()->mAccentedLetters;
    }

    /**
      Set Write the word in upper case letters if checked
    */
    static
    void setUpperCase( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "UpperCase" ) ))
        self()->mUpperCase = v;
    }

    /**
      Get Write the word in upper case letters if checked
    */
    static
    bool upperCase()
    {
      return self()->mUpperCase;
    }

    /**
      Set Default font family for the Guess button
    */
    static
    void setGuessFontFamily( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "GuessFontFamily" ) ))
        self()->mGuessFontFamily = v;
    }

    /**
      Get Default font family for the Guess button
    */
    static
    TQString guessFontFamily()
    {
      return self()->mGuessFontFamily;
    }

    /**
      Set Default font family for the MIsses button
    */
    static
    void setMissesFontFamily( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "MissesFontFamily" ) ))
        self()->mMissesFontFamily = v;
    }

    /**
      Get Default font family for the MIsses button
    */
    static
    TQString missesFontFamily()
    {
      return self()->mMissesFontFamily;
    }

    /**
      Set The Providers path for KHangMan
    */
    static
    void setProvidersUrl( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ProvidersUrl" ) ))
        self()->mProvidersUrl = v;
    }

    /**
      Get The Providers path for KHangMan
    */
    static
    TQString providersUrl()
    {
      return self()->mProvidersUrl;
    }

    static
    void writeConfig()
    {
      static_cast<TDEConfigSkeleton*>(self())->writeConfig();
    }
  protected:
    Prefs();
    static Prefs *mSelf;


    // Language
    int mCurrentLevel;
    TQString mLevelFile;
    bool mShowCharToolbar;
    TQString mSelectedLanguage;

    // Look
    int mMode;

    // General
    bool mOneLetter;
    bool mWonDialog;
    bool mSound;
    int mHintTimer;
    int mMissedTimer;

    // Advanced
    bool mHint;
    bool mAccentedLetters;
    bool mUpperCase;

    // Fonts
    TQString mGuessFontFamily;
    TQString mMissesFontFamily;

    // TDENewStuff
    TQString mProvidersUrl;

  private:
};

#endif

