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

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

#include <MainQtWidget.h>
class SettingsClass : public KConfigSkeleton
{
  public:

    static SettingsClass *self();
    ~SettingsClass();

    /**
      Set Active exercise.
    */
    static
    void setActiveExercise( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "activeExercise" ) ))
        self()->mActiveExercise = v;
    }

    /**
      Get Active exercise.
    */
    static
    int activeExercise()
    {
      return self()->mActiveExercise;
    }

    /**
      Set Enable Addition
    */
    static
    void setAddadd( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "addadd" ) ))
        self()->mAddadd = v;
    }

    /**
      Get Enable Addition
    */
    static
    bool addadd()
    {
      return self()->mAddadd;
    }

    /**
      Set Enable Subtraction
    */
    static
    void setAddsub( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "addsub" ) ))
        self()->mAddsub = v;
    }

    /**
      Get Enable Subtraction
    */
    static
    bool addsub()
    {
      return self()->mAddsub;
    }

    /**
      Set Enable Division
    */
    static
    void setAdddiv( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "adddiv" ) ))
        self()->mAdddiv = v;
    }

    /**
      Get Enable Division
    */
    static
    bool adddiv()
    {
      return self()->mAdddiv;
    }

    /**
      Set Enable Multiplication
    */
    static
    void setAddmult( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "addmult" ) ))
        self()->mAddmult = v;
    }

    /**
      Get Enable Multiplication
    */
    static
    bool addmult()
    {
      return self()->mAddmult;
    }

    /**
      Set Enable Multiplication/Division
    */
    static
    void setMuldiv( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "muldiv" ) ))
        self()->mMuldiv = v;
    }

    /**
      Get Enable Multiplication/Division
    */
    static
    bool muldiv()
    {
      return self()->mMuldiv;
    }

    /**
      Set Number of fractions
    */
    static
    void setNumber_ratios( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "number_ratios" ) ))
        self()->mNumber_ratios = v;
    }

    /**
      Get Number of fractions
    */
    static
    uint number_ratios()
    {
      return self()->mNumber_ratios;
    }

    /**
      Set Max. main denominator
    */
    static
    void setMax_main_denominator( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "max_main_denominator" ) ))
        self()->mMax_main_denominator = v;
    }

    /**
      Get Max. main denominator
    */
    static
    uint max_main_denominator()
    {
      return self()->mMax_main_denominator;
    }

    /**
      Set Answer reduced fractions
    */
    static
    void setReduceForm( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "reduceForm" ) ))
        self()->mReduceForm = v;
    }

    /**
      Get Answer reduced fractions
    */
    static
    uint reduceForm()
    {
      return self()->mReduceForm;
    }

    /**
      Set Mixed number
    */
    static
    void setSolutionMixed( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "solutionMixed" ) ))
        self()->mSolutionMixed = v;
    }

    /**
      Get Mixed number
    */
    static
    bool solutionMixed()
    {
      return self()->mSolutionMixed;
    }

    /**
      Set Mixed number
    */
    static
    void setAnswerMixed( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "answerMixed" ) ))
        self()->mAnswerMixed = v;
    }

    /**
      Get Mixed number
    */
    static
    bool answerMixed()
    {
      return self()->mAnswerMixed;
    }

    /**
      Set Mixed number
    */
    static
    void setQuestionMixed( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "questionMixed" ) ))
        self()->mQuestionMixed = v;
    }

    /**
      Get Mixed number
    */
    static
    bool questionMixed()
    {
      return self()->mQuestionMixed;
    }

    /**
      Set Number of correctly solved tasks
    */
    static
    void setCorrect( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "correct" ) ))
        self()->mCorrect = v;
    }

    /**
      Get Number of correctly solved tasks
    */
    static
    int correct()
    {
      return self()->mCorrect;
    }

    /**
      Set Number of solved tasks
    */
    static
    void setCount( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "count" ) ))
        self()->mCount = v;
    }

    /**
      Get Number of solved tasks
    */
    static
    int count()
    {
      return self()->mCount;
    }

    /**
      Set Number of skipped tasks
    */
    static
    void setSkipped( int v )
    {
      if (!self()->isImmutable( QStringLiteral( "skipped" ) ))
        self()->mSkipped = v;
    }

    /**
      Get Number of skipped tasks
    */
    static
    int skipped()
    {
      return self()->mSkipped;
    }

    /**
      Set Color of the numbers in the task view
    */
    static
    void setNumberColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "numberColor" ) ))
        self()->mNumberColor = v;
    }

    /**
      Get Color of the numbers in the task view
    */
    static
    QColor numberColor()
    {
      return self()->mNumberColor;
    }

    /**
      Set Color of the operation signs in the task view
    */
    static
    void setOperationColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "operationColor" ) ))
        self()->mOperationColor = v;
    }

    /**
      Get Color of the operation signs in the task view
    */
    static
    QColor operationColor()
    {
      return self()->mOperationColor;
    }

    /**
      Set Color of the fraction bars in the task view
    */
    static
    void setFractionBarColor( const QColor & v )
    {
      if (!self()->isImmutable( QStringLiteral( "fractionBarColor" ) ))
        self()->mFractionBarColor = v;
    }

    /**
      Get Color of the fraction bars in the task view
    */
    static
    QColor fractionBarColor()
    {
      return self()->mFractionBarColor;
    }

    /**
      Set Font used for the task view
    */
    static
    void setTaskFont( const QFont & v )
    {
      if (!self()->isImmutable( QStringLiteral( "taskFont" ) ))
        self()->mTaskFont = v;
    }

    /**
      Get Font used for the task view
    */
    static
    QFont taskFont()
    {
      return self()->mTaskFont;
    }

    /**
      Set Enable showing the result also as a mixed number
    */
    static
    void setShowSpecialRatioNotation( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "showSpecialRatioNotation" ) ))
        self()->mShowSpecialRatioNotation = v;
    }

    /**
      Get Enable showing the result also as a mixed number
    */
    static
    bool showSpecialRatioNotation()
    {
      return self()->mShowSpecialRatioNotation;
    }

  protected:
    SettingsClass();
    friend class SettingsClassHelper;


    // General
    int mActiveExercise;

    // Task
    bool mAddadd;
    bool mAddsub;
    bool mAdddiv;
    bool mAddmult;
    bool mMuldiv;
    uint mNumber_ratios;
    uint mMax_main_denominator;
    uint mReduceForm;
    bool mSolutionMixed;
    bool mAnswerMixed;
    bool mQuestionMixed;

    // Statistics
    int mCorrect;
    int mCount;
    int mSkipped;

    // TaskViewer
    QColor mNumberColor;
    QColor mOperationColor;
    QColor mFractionBarColor;
    QFont mTaskFont;
    bool mShowSpecialRatioNotation;

  private:
};

#endif

