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

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

class ColorblindnessCorrectionSettings : public KConfigSkeleton
{
  Q_OBJECT
  public:

    ColorblindnessCorrectionSettings( QObject *parent = nullptr );
    ~ColorblindnessCorrectionSettings() override;

    /**
      Set Whether Colorblindness Correction is enabled
    */
    void setColorblindnessCorrection( bool v )
    {
      if (v != mColorblindnessCorrection && !isColorblindnessCorrectionImmutable()) {
        mColorblindnessCorrection = v;
        Q_EMIT ColorblindnessCorrectionChanged();
      }
    }

    Q_PROPERTY(bool colorblindnessCorrection READ colorblindnessCorrection WRITE setColorblindnessCorrection NOTIFY ColorblindnessCorrectionChanged)
    Q_PROPERTY(bool isColorblindnessCorrectionImmutable READ isColorblindnessCorrectionImmutable CONSTANT)
    Q_PROPERTY(bool defaultColorblindnessCorrectionValue READ defaultColorblindnessCorrectionValue CONSTANT)
    /**
      Get Whether Colorblindness Correction is enabled
    */
    bool colorblindnessCorrection() const
    {
      return mColorblindnessCorrection;
    }

    /**
      Is Whether Colorblindness Correction is enabled Immutable
    */
    bool isColorblindnessCorrectionImmutable() const
    {
      return isImmutable( QStringLiteral( "ColorblindnessCorrection" ) );
    }

    /**
      Get Whether Colorblindness Correction is enabled default value
    */
    bool defaultColorblindnessCorrectionValue() const
    {
        return defaultColorblindnessCorrectionValue_helper();
    }

    /**
      Set Mode
    */
    void setMode( uint v )
    {
      if (v != mMode && !isModeImmutable()) {
        mMode = v;
        Q_EMIT ModeChanged();
      }
    }

    Q_PROPERTY(uint mode READ mode WRITE setMode NOTIFY ModeChanged)
    Q_PROPERTY(bool isModeImmutable READ isModeImmutable CONSTANT)
    Q_PROPERTY(uint defaultModeValue READ defaultModeValue CONSTANT)
    /**
      Get Mode
    */
    uint mode() const
    {
      return mMode;
    }

    /**
      Is Mode Immutable
    */
    bool isModeImmutable() const
    {
      return isImmutable( QStringLiteral( "Mode" ) );
    }

    /**
      Get Mode default value
    */
    uint defaultModeValue() const
    {
        return defaultModeValue_helper();
    }

    /**
      Set Intensity
    */
    void setIntensity( double v )
    {
      if (v != mIntensity && !isIntensityImmutable()) {
        mIntensity = v;
        Q_EMIT IntensityChanged();
      }
    }

    Q_PROPERTY(double intensity READ intensity WRITE setIntensity NOTIFY IntensityChanged)
    Q_PROPERTY(bool isIntensityImmutable READ isIntensityImmutable CONSTANT)
    Q_PROPERTY(double defaultIntensityValue READ defaultIntensityValue CONSTANT)
    /**
      Get Intensity
    */
    double intensity() const
    {
      return mIntensity;
    }

    /**
      Is Intensity Immutable
    */
    bool isIntensityImmutable() const
    {
      return isImmutable( QStringLiteral( "Intensity" ) );
    }

    /**
      Get Intensity default value
    */
    double defaultIntensityValue() const
    {
        return defaultIntensityValue_helper();
    }


    enum {
      signalColorblindnessCorrectionChanged = 1,
      signalModeChanged = 2,
      signalIntensityChanged = 3
    };

  Q_SIGNALS:
    void ColorblindnessCorrectionChanged();

    void ModeChanged();

    void IntensityChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:

    // Plugins
    bool mColorblindnessCorrection;
    bool defaultColorblindnessCorrectionValue_helper() const;

    // Effect-colorblindnesscorrection
    uint mMode;
    uint defaultModeValue_helper() const;
    double mIntensity;
    double defaultIntensityValue_helper() const;
};

#endif

