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

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

class KWinCompositingSetting : public KConfigSkeleton
{
  public:
    class EnumHiddenPreviews
    {
      public:
      enum type { Off, Shown, Always, COUNT };
    };

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

    /**
      Set AnimationDurationFactor
    */
    void setAnimationDurationFactor( double v )
    {
      if (!isAnimationDurationFactorImmutable())
        mAnimationDurationFactor = v;
    }

    /**
      Get AnimationDurationFactor
    */
    double animationDurationFactor() const
    {
      return mAnimationDurationFactor;
    }

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

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

    /**
      Set HiddenPreviews
    */
    void setHiddenPreviews( int v )
    {
      if (!isHiddenPreviewsImmutable())
        mHiddenPreviews = v;
    }

    /**
      Get HiddenPreviews
    */
    int hiddenPreviews() const
    {
      return mHiddenPreviews;
    }

    /**
      Is HiddenPreviews Immutable
    */
    bool isHiddenPreviewsImmutable() const
    {
      return isImmutable( QStringLiteral( "HiddenPreviews" ) );
    }

    /**
      Get HiddenPreviews default value
    */
    int defaultHiddenPreviewsValue() const
    {
        return defaultHiddenPreviewsValue_helper();
    }

    /**
      Set Enabled
    */
    void setEnabled( bool v )
    {
      if (!isEnabledImmutable())
        mEnabled = v;
    }

    /**
      Get Enabled
    */
    bool enabled() const
    {
      return mEnabled;
    }

    /**
      Is Enabled Immutable
    */
    bool isEnabledImmutable() const
    {
      return isImmutable( QStringLiteral( "Enabled" ) );
    }

    /**
      Get Enabled default value
    */
    bool defaultEnabledValue() const
    {
        return defaultEnabledValue_helper();
    }

    /**
      Set LastFailureTimestamp
    */
    void setLastFailureTimestamp( int v )
    {
      if (!isLastFailureTimestampImmutable())
        mLastFailureTimestamp = v;
    }

    /**
      Get LastFailureTimestamp
    */
    int lastFailureTimestamp() const
    {
      return mLastFailureTimestamp;
    }

    /**
      Is LastFailureTimestamp Immutable
    */
    bool isLastFailureTimestampImmutable() const
    {
      return isImmutable( QStringLiteral( "LastFailureTimestamp" ) );
    }

    /**
      Get LastFailureTimestamp default value
    */
    int defaultLastFailureTimestampValue() const
    {
        return defaultLastFailureTimestampValue_helper();
    }

    /**
      Set WindowsBlockCompositing
    */
    void setWindowsBlockCompositing( bool v )
    {
      if (!isWindowsBlockCompositingImmutable())
        mWindowsBlockCompositing = v;
    }

    /**
      Get WindowsBlockCompositing
    */
    bool windowsBlockCompositing() const
    {
      return mWindowsBlockCompositing;
    }

    /**
      Is WindowsBlockCompositing Immutable
    */
    bool isWindowsBlockCompositingImmutable() const
    {
      return isImmutable( QStringLiteral( "WindowsBlockCompositing" ) );
    }

    /**
      Get WindowsBlockCompositing default value
    */
    bool defaultWindowsBlockCompositingValue() const
    {
        return defaultWindowsBlockCompositingValue_helper();
    }

  protected:

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

    // Compositing
    int mHiddenPreviews;
    int defaultHiddenPreviewsValue_helper() const;
    bool mEnabled;
    bool defaultEnabledValue_helper() const;
    int mLastFailureTimestamp;
    int defaultLastFailureTimestampValue_helper() const;
    bool mWindowsBlockCompositing;
    bool defaultWindowsBlockCompositingValue_helper() const;
};

#endif

