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

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

namespace KWin {

class AnimationsGlobalsSettings : public KConfigSkeleton
{
  Q_OBJECT
  public:

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

    /**
      Set Animation speed
    */
    void setAnimationDurationFactor( double v )
    {
      if (v != mAnimationDurationFactor && !isAnimationDurationFactorImmutable()) {
        mAnimationDurationFactor = v;
        Q_EMIT animationDurationFactorChanged();
      }
    }

    Q_PROPERTY(double animationDurationFactor READ animationDurationFactor WRITE setAnimationDurationFactor NOTIFY animationDurationFactorChanged)
    Q_PROPERTY(bool isAnimationDurationFactorImmutable READ isAnimationDurationFactorImmutable CONSTANT)
    Q_PROPERTY(double defaultAnimationDurationFactorValue READ defaultAnimationDurationFactorValue CONSTANT)
    /**
      Get Animation speed
    */
    double animationDurationFactor() const
    {
      return mAnimationDurationFactor;
    }

    /**
      Is Animation speed Immutable
    */
    bool isAnimationDurationFactorImmutable() const
    {
      return isImmutable( QStringLiteral( "animationDurationFactor" ) );
    }

    /**
      Get Animation speed default value
    */
    double defaultAnimationDurationFactorValue() const
    {
        return defaultAnimationDurationFactorValue_helper();
    }


    enum {
      signalAnimationDurationFactorChanged = 1
    };

  Q_SIGNALS:
    void animationDurationFactorChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:

    // KDE
    double mAnimationDurationFactor;
    double defaultAnimationDurationFactorValue_helper() const;
};

}

#endif

