// 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 <kconfigskeleton.h>
#include <QCoreApplication>
#include <QDebug>

class KWinCompositingSetting : public KConfigSkeleton
{
  Q_OBJECT
  public:

    static KWinCompositingSetting *self();
    ~KWinCompositingSetting() override;

    /**
      Set AllowTearing
    */
    static
    void setAllowTearing( bool v )
    {
      if (v != self()->mAllowTearing && !self()->isAllowTearingImmutable()) {
        self()->mAllowTearing = v;
        Q_EMIT self()->allowTearingChanged();
      }
    }

    Q_PROPERTY(bool allowTearing READ allowTearing WRITE setAllowTearing NOTIFY allowTearingChanged)
    Q_PROPERTY(bool isAllowTearingImmutable READ isAllowTearingImmutable CONSTANT)
    /**
      Get AllowTearing
    */
    static
    bool allowTearing()
    {
      return self()->mAllowTearing;
    }

    /**
      Is AllowTearing Immutable
    */
    static
    bool isAllowTearingImmutable()
    {
      return self()->isImmutable( QStringLiteral( "allowTearing" ) );
    }


    enum {
      signalAllowTearingChanged = 1
    };

  Q_SIGNALS:
    void allowTearingChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:
    KWinCompositingSetting();
    friend class KWinCompositingSettingHelper;


    // Compositing
    bool mAllowTearing;
};

#endif

