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

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

class kgeographySettings : public KConfigSkeleton
{
  public:
    class EnumQuestionPlacingScheme
    {
      public:
      enum type { TopLeft, Top, TopRight, Left, Center, Right, BottomLeft, Bottom, BottomRight, COUNT };
    };
    class EnumColorDisguise
    {
      public:
      enum type { Nothing, Scramble, COUNT };
    };

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

    /**
      Set The last opened map
    */
    static
    void setLastMap( const QString & v )
    {
      if (!self()->isLastMapImmutable())
        self()->mLastMap = v;
    }

    /**
      Get The last opened map
    */
    static
    QString lastMap()
    {
      return self()->mLastMap;
    }

    /**
      Is The last opened map Immutable
    */
    static
    bool isLastMapImmutable()
    {
      return self()->isImmutable( QStringLiteral( "lastMap" ) );
    }

    /**
      Set Placement alignment of the question
    */
    static
    void setQuestionPlacingScheme( int v )
    {
      if (!self()->isQuestionPlacingSchemeImmutable())
        self()->mQuestionPlacingScheme = v;
    }

    /**
      Get Placement alignment of the question
    */
    static
    int questionPlacingScheme()
    {
      return self()->mQuestionPlacingScheme;
    }

    /**
      Is Placement alignment of the question Immutable
    */
    static
    bool isQuestionPlacingSchemeImmutable()
    {
      return self()->isImmutable( QStringLiteral( "questionPlacingScheme" ) );
    }

    /**
      Set Ask for validation before next question
    */
    static
    void setWaitsForValidation( bool v )
    {
      if (!self()->isWaitsForValidationImmutable())
        self()->mWaitsForValidation = v;
    }

    /**
      Get Ask for validation before next question
    */
    static
    bool waitsForValidation()
    {
      return self()->mWaitsForValidation;
    }

    /**
      Is Ask for validation before next question Immutable
    */
    static
    bool isWaitsForValidationImmutable()
    {
      return self()->isImmutable( QStringLiteral( "waitsForValidation" ) );
    }

    /**
      Set Whether press on space while hovering a button should trigger that button
    */
    static
    void setFocusFollowsMouse( bool v )
    {
      if (!self()->isFocusFollowsMouseImmutable())
        self()->mFocusFollowsMouse = v;
    }

    /**
      Get Whether press on space while hovering a button should trigger that button
    */
    static
    bool focusFollowsMouse()
    {
      return self()->mFocusFollowsMouse;
    }

    /**
      Is Whether press on space while hovering a button should trigger that button Immutable
    */
    static
    bool isFocusFollowsMouseImmutable()
    {
      return self()->isImmutable( QStringLiteral( "focusFollowsMouse" ) );
    }

    /**
      Set Whether the map tooltip follows mouse movement
    */
    static
    void setTooltipFollowsMouse( bool v )
    {
      if (!self()->isTooltipFollowsMouseImmutable())
        self()->mTooltipFollowsMouse = v;
    }

    /**
      Get Whether the map tooltip follows mouse movement
    */
    static
    bool tooltipFollowsMouse()
    {
      return self()->mTooltipFollowsMouse;
    }

    /**
      Is Whether the map tooltip follows mouse movement Immutable
    */
    static
    bool isTooltipFollowsMouseImmutable()
    {
      return self()->isImmutable( QStringLiteral( "tooltipFollowsMouse" ) );
    }

    /**
      Set What to do to colors of divisions
    */
    static
    void setColorDisguise( int v )
    {
      if (!self()->isColorDisguiseImmutable())
        self()->mColorDisguise = v;
    }

    /**
      Get What to do to colors of divisions
    */
    static
    int colorDisguise()
    {
      return self()->mColorDisguise;
    }

    /**
      Is What to do to colors of divisions Immutable
    */
    static
    bool isColorDisguiseImmutable()
    {
      return self()->isImmutable( QStringLiteral( "colorDisguise" ) );
    }

  protected:
    kgeographySettings();
    friend class kgeographySettingsHelper;


    // general
    QString mLastMap;
    int mQuestionPlacingScheme;
    bool mWaitsForValidation;
    bool mFocusFollowsMouse;
    bool mTooltipFollowsMouse;
    int mColorDisguise;
};

#endif

