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

#include <enum.h>

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

class NightColorSettings : public KConfigSkeleton
{
  Q_OBJECT
  public:

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

    /**
      Set Active
    */
    void setActive( bool v )
    {
      if (v != mActive && !isActiveImmutable()) {
        mActive = v;
        Q_EMIT ActiveChanged();
      }
    }

    Q_PROPERTY(bool active READ active WRITE setActive NOTIFY ActiveChanged)
    Q_PROPERTY(bool isActiveImmutable READ isActiveImmutable CONSTANT)
    Q_PROPERTY(bool defaultActiveValue READ defaultActiveValue CONSTANT)
    /**
      Get Active
    */
    bool active() const
    {
      return mActive;
    }

    /**
      Is Active Immutable
    */
    bool isActiveImmutable() const
    {
      return isImmutable( QStringLiteral( "Active" ) );
    }

    /**
      Get Active default value
    */
    bool defaultActiveValue() const
    {
        return defaultActiveValue_helper();
    }

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

    Q_PROPERTY(ColorCorrect::NightColorMode mode READ mode WRITE setMode NOTIFY ModeChanged)
    Q_PROPERTY(bool isModeImmutable READ isModeImmutable CONSTANT)
    Q_PROPERTY(ColorCorrect::NightColorMode defaultModeValue READ defaultModeValue CONSTANT)
    /**
      Get Mode
    */
    ColorCorrect::NightColorMode mode() const
    {
      return static_cast<ColorCorrect::NightColorMode>(mMode);
    }

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

    /**
      Get Mode default value
    */
    ColorCorrect::NightColorMode defaultModeValue() const
    {
        return static_cast<ColorCorrect::NightColorMode>(defaultModeValue_helper());
    }

    /**
      Set DayTemperature
    */
    void setDayTemperature( int v )
    {
      if (v != mDayTemperature && !isDayTemperatureImmutable()) {
        mDayTemperature = v;
        Q_EMIT DayTemperatureChanged();
      }
    }

    Q_PROPERTY(int dayTemperature READ dayTemperature WRITE setDayTemperature NOTIFY DayTemperatureChanged)
    Q_PROPERTY(bool isDayTemperatureImmutable READ isDayTemperatureImmutable CONSTANT)
    Q_PROPERTY(int defaultDayTemperatureValue READ defaultDayTemperatureValue CONSTANT)
    /**
      Get DayTemperature
    */
    int dayTemperature() const
    {
      return mDayTemperature;
    }

    /**
      Is DayTemperature Immutable
    */
    bool isDayTemperatureImmutable() const
    {
      return isImmutable( QStringLiteral( "DayTemperature" ) );
    }

    /**
      Get DayTemperature default value
    */
    int defaultDayTemperatureValue() const
    {
        return defaultDayTemperatureValue_helper();
    }

    /**
      Set NightTemperature
    */
    void setNightTemperature( int v )
    {
      if (v != mNightTemperature && !isNightTemperatureImmutable()) {
        mNightTemperature = v;
        Q_EMIT NightTemperatureChanged();
      }
    }

    Q_PROPERTY(int nightTemperature READ nightTemperature WRITE setNightTemperature NOTIFY NightTemperatureChanged)
    Q_PROPERTY(bool isNightTemperatureImmutable READ isNightTemperatureImmutable CONSTANT)
    Q_PROPERTY(int defaultNightTemperatureValue READ defaultNightTemperatureValue CONSTANT)
    /**
      Get NightTemperature
    */
    int nightTemperature() const
    {
      return mNightTemperature;
    }

    /**
      Is NightTemperature Immutable
    */
    bool isNightTemperatureImmutable() const
    {
      return isImmutable( QStringLiteral( "NightTemperature" ) );
    }

    /**
      Get NightTemperature default value
    */
    int defaultNightTemperatureValue() const
    {
        return defaultNightTemperatureValue_helper();
    }


    enum {
      signalActiveChanged = 1,
      signalModeChanged = 2,
      signalDayTemperatureChanged = 3,
      signalNightTemperatureChanged = 4
    };

  Q_SIGNALS:
    void ActiveChanged();

    void ModeChanged();

    void DayTemperatureChanged();

    void NightTemperatureChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:

    // NightColor
    bool mActive;
    bool defaultActiveValue_helper() const;
    int mMode;
    int defaultModeValue_helper() const;
    int mDayTemperature;
    int defaultDayTemperatureValue_helper() const;
    int mNightTemperature;
    int defaultNightTemperatureValue_helper() const;
};

#endif

