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

#include <nightlightmanager.h>

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

namespace KWin {

class NightLightSettings : public KConfigSkeleton
{
  public:

    static NightLightSettings *self();
    static void instance(const QString& cfgfilename);
    static void instance(KSharedConfig::Ptr config);
    ~NightLightSettings() override;

    /**
      Set Active
    */
    static
    void setActive( bool v )
    {
      if (!self()->isActiveImmutable())
        self()->mActive = v;
    }

    /**
      Get Active
    */
    static
    bool active()
    {
      return self()->mActive;
    }

    /**
      Is Active Immutable
    */
    static
    bool isActiveImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Active" ) );
    }

    /**
      Set Mode
    */
    static
    void setMode( KWin::NightLightMode v )
    {
      if (!self()->isModeImmutable())
        self()->mMode = int(v);
    }

    /**
      Get Mode
    */
    static
    KWin::NightLightMode mode()
    {
      return static_cast<KWin::NightLightMode>(self()->mMode);
    }

    /**
      Is Mode Immutable
    */
    static
    bool isModeImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Mode" ) );
    }

    /**
      Set DayTemperature
    */
    static
    void setDayTemperature( int v )
    {
      if (!self()->isDayTemperatureImmutable())
        self()->mDayTemperature = v;
    }

    /**
      Get DayTemperature
    */
    static
    int dayTemperature()
    {
      return self()->mDayTemperature;
    }

    /**
      Is DayTemperature Immutable
    */
    static
    bool isDayTemperatureImmutable()
    {
      return self()->isImmutable( QStringLiteral( "DayTemperature" ) );
    }

    /**
      Set NightTemperature
    */
    static
    void setNightTemperature( int v )
    {
      if (!self()->isNightTemperatureImmutable())
        self()->mNightTemperature = v;
    }

    /**
      Get NightTemperature
    */
    static
    int nightTemperature()
    {
      return self()->mNightTemperature;
    }

    /**
      Is NightTemperature Immutable
    */
    static
    bool isNightTemperatureImmutable()
    {
      return self()->isImmutable( QStringLiteral( "NightTemperature" ) );
    }

  protected:
    NightLightSettings(KSharedConfig::Ptr config);
    friend class NightLightSettingsHelper;


    // NightColor
    bool mActive;
    int mMode;
    int mDayTemperature;
    int mNightTemperature;
};

}

#endif

