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

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

class ActivationGesturesSettings : public KConfigSkeleton
{
  Q_OBJECT
  public:

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

    /**
      Set Use Gestures
    */
    void setGestures( bool v )
    {
      if (v != mGestures && !isGesturesImmutable()) {
        mGestures = v;
        Q_EMIT GesturesChanged();
      }
    }

    Q_PROPERTY(bool gestures READ gestures WRITE setGestures NOTIFY GesturesChanged)
    Q_PROPERTY(bool isGesturesImmutable READ isGesturesImmutable CONSTANT)
    Q_PROPERTY(bool defaultGesturesValue READ defaultGesturesValue CONSTANT)
    /**
      Get Use Gestures
    */
    bool gestures() const
    {
      return mGestures;
    }

    /**
      Is Use Gestures Immutable
    */
    bool isGesturesImmutable() const
    {
      return isImmutable( QStringLiteral( "Gestures" ) );
    }

    /**
      Get Use Gestures default value
    */
    bool defaultGesturesValue() const
    {
        return defaultGesturesValue_helper();
    }

    /**
      Set Ask for Confirmation for a gesture
    */
    void setGestureConfirmation( bool v )
    {
      if (v != mGestureConfirmation && !isGestureConfirmationImmutable()) {
        mGestureConfirmation = v;
        Q_EMIT GestureConfirmationChanged();
      }
    }

    Q_PROPERTY(bool gestureConfirmation READ gestureConfirmation WRITE setGestureConfirmation NOTIFY GestureConfirmationChanged)
    Q_PROPERTY(bool isGestureConfirmationImmutable READ isGestureConfirmationImmutable CONSTANT)
    Q_PROPERTY(bool defaultGestureConfirmationValue READ defaultGestureConfirmationValue CONSTANT)
    /**
      Get Ask for Confirmation for a gesture
    */
    bool gestureConfirmation() const
    {
      return mGestureConfirmation;
    }

    /**
      Is Ask for Confirmation for a gesture Immutable
    */
    bool isGestureConfirmationImmutable() const
    {
      return isImmutable( QStringLiteral( "GestureConfirmation" ) );
    }

    /**
      Get Ask for Confirmation for a gesture default value
    */
    bool defaultGestureConfirmationValue() const
    {
        return defaultGestureConfirmationValue_helper();
    }

    /**
      Set Confirm access to the Keyboard
    */
    void setKeyboardNotifyAccess( bool v )
    {
      if (v != mKeyboardNotifyAccess && !isKeyboardNotifyAccessImmutable()) {
        mKeyboardNotifyAccess = v;
        Q_EMIT KeyboardNotifyAccessChanged();
      }
    }

    Q_PROPERTY(bool keyboardNotifyAccess READ keyboardNotifyAccess WRITE setKeyboardNotifyAccess NOTIFY KeyboardNotifyAccessChanged)
    Q_PROPERTY(bool isKeyboardNotifyAccessImmutable READ isKeyboardNotifyAccessImmutable CONSTANT)
    Q_PROPERTY(bool defaultKeyboardNotifyAccessValue READ defaultKeyboardNotifyAccessValue CONSTANT)
    /**
      Get Confirm access to the Keyboard
    */
    bool keyboardNotifyAccess() const
    {
      return mKeyboardNotifyAccess;
    }

    /**
      Is Confirm access to the Keyboard Immutable
    */
    bool isKeyboardNotifyAccessImmutable() const
    {
      return isImmutable( QStringLiteral( "KeyboardNotifyAccess" ) );
    }

    /**
      Get Confirm access to the Keyboard default value
    */
    bool defaultKeyboardNotifyAccessValue() const
    {
        return defaultKeyboardNotifyAccessValue_helper();
    }

    /**
      Set Use a timeout delay
    */
    void setAccessXTimeout( bool v )
    {
      if (v != mAccessXTimeout && !isAccessXTimeoutImmutable()) {
        mAccessXTimeout = v;
        Q_EMIT AccessXTimeoutChanged();
      }
    }

    Q_PROPERTY(bool accessXTimeout READ accessXTimeout WRITE setAccessXTimeout NOTIFY AccessXTimeoutChanged)
    Q_PROPERTY(bool isAccessXTimeoutImmutable READ isAccessXTimeoutImmutable CONSTANT)
    Q_PROPERTY(bool defaultAccessXTimeoutValue READ defaultAccessXTimeoutValue CONSTANT)
    /**
      Get Use a timeout delay
    */
    bool accessXTimeout() const
    {
      return mAccessXTimeout;
    }

    /**
      Is Use a timeout delay Immutable
    */
    bool isAccessXTimeoutImmutable() const
    {
      return isImmutable( QStringLiteral( "AccessXTimeout" ) );
    }

    /**
      Get Use a timeout delay default value
    */
    bool defaultAccessXTimeoutValue() const
    {
        return defaultAccessXTimeoutValue_helper();
    }

    /**
      Set Delay for timeout
    */
    void setAccessXTimeoutDelay( int v )
    {
      if (v != mAccessXTimeoutDelay && !isAccessXTimeoutDelayImmutable()) {
        mAccessXTimeoutDelay = v;
        Q_EMIT AccessXTimeoutDelayChanged();
      }
    }

    Q_PROPERTY(int accessXTimeoutDelay READ accessXTimeoutDelay WRITE setAccessXTimeoutDelay NOTIFY AccessXTimeoutDelayChanged)
    Q_PROPERTY(bool isAccessXTimeoutDelayImmutable READ isAccessXTimeoutDelayImmutable CONSTANT)
    Q_PROPERTY(int defaultAccessXTimeoutDelayValue READ defaultAccessXTimeoutDelayValue CONSTANT)
    /**
      Get Delay for timeout
    */
    int accessXTimeoutDelay() const
    {
      return mAccessXTimeoutDelay;
    }

    /**
      Is Delay for timeout Immutable
    */
    bool isAccessXTimeoutDelayImmutable() const
    {
      return isImmutable( QStringLiteral( "AccessXTimeoutDelay" ) );
    }

    /**
      Get Delay for timeout default value
    */
    int defaultAccessXTimeoutDelayValue() const
    {
        return defaultAccessXTimeoutDelayValue_helper();
    }

    /**
      Set Use a beep for access
    */
    void setAccessXBeep( bool v )
    {
      if (v != mAccessXBeep && !isAccessXBeepImmutable()) {
        mAccessXBeep = v;
        Q_EMIT AccessXBeepChanged();
      }
    }

    Q_PROPERTY(bool accessXBeep READ accessXBeep WRITE setAccessXBeep NOTIFY AccessXBeepChanged)
    Q_PROPERTY(bool isAccessXBeepImmutable READ isAccessXBeepImmutable CONSTANT)
    Q_PROPERTY(bool defaultAccessXBeepValue READ defaultAccessXBeepValue CONSTANT)
    /**
      Get Use a beep for access
    */
    bool accessXBeep() const
    {
      return mAccessXBeep;
    }

    /**
      Is Use a beep for access Immutable
    */
    bool isAccessXBeepImmutable() const
    {
      return isImmutable( QStringLiteral( "AccessXBeep" ) );
    }

    /**
      Get Use a beep for access default value
    */
    bool defaultAccessXBeepValue() const
    {
        return defaultAccessXBeepValue_helper();
    }


    enum {
      signalGesturesChanged = 1,
      signalGestureConfirmationChanged = 2,
      signalKeyboardNotifyAccessChanged = 3,
      signalAccessXTimeoutChanged = 4,
      signalAccessXTimeoutDelayChanged = 5,
      signalAccessXBeepChanged = 6
    };

  Q_SIGNALS:
    void GesturesChanged();

    void GestureConfirmationChanged();

    void KeyboardNotifyAccessChanged();

    void AccessXTimeoutChanged();

    void AccessXTimeoutDelayChanged();

    void AccessXBeepChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:

    // Keyboard
    bool mGestures;
    bool defaultGesturesValue_helper() const;
    bool mGestureConfirmation;
    bool defaultGestureConfirmationValue_helper() const;
    bool mKeyboardNotifyAccess;
    bool defaultKeyboardNotifyAccessValue_helper() const;
    bool mAccessXTimeout;
    bool defaultAccessXTimeoutValue_helper() const;
    int mAccessXTimeoutDelay;
    int defaultAccessXTimeoutDelayValue_helper() const;
    bool mAccessXBeep;
    bool defaultAccessXBeepValue_helper() const;
};

#endif

