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

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

class KWinXwaylandSettings : public KConfigSkeleton
{
  Q_OBJECT
  public:
    enum EnumXwaylandEavesdrops { None, Modifiers, Combinations, All };
    Q_ENUM(EnumXwaylandEavesdrops)

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

    /**
      Set XwaylandEavesdrops
    */
    void setXwaylandEavesdrops( int v )
    {
      if (v != mXwaylandEavesdrops && !isXwaylandEavesdropsImmutable()) {
        mXwaylandEavesdrops = v;
        Q_EMIT xwaylandEavesdropsChanged();
      }
    }

    Q_PROPERTY(int xwaylandEavesdrops READ xwaylandEavesdrops WRITE setXwaylandEavesdrops NOTIFY xwaylandEavesdropsChanged)
    Q_PROPERTY(bool isXwaylandEavesdropsImmutable READ isXwaylandEavesdropsImmutable CONSTANT)
    Q_PROPERTY(int defaultXwaylandEavesdropsValue READ defaultXwaylandEavesdropsValue CONSTANT)
    /**
      Get XwaylandEavesdrops
    */
    int xwaylandEavesdrops() const
    {
      return mXwaylandEavesdrops;
    }

    /**
      Is XwaylandEavesdrops Immutable
    */
    bool isXwaylandEavesdropsImmutable() const
    {
      return isImmutable( QStringLiteral( "xwaylandEavesdrops" ) );
    }

    /**
      Get XwaylandEavesdrops default value
    */
    int defaultXwaylandEavesdropsValue() const
    {
        return defaultXwaylandEavesdropsValue_helper();
    }

    /**
      Get Item object corresponding to xwaylandEavesdrops()
    */
    KConfigCompilerSignallingItem *xwaylandEavesdropsItem()
    {
      return mXwaylandEavesdropsItem;
    }

    /**
      Set XwaylandEavesdropsMouse
    */
    void setXwaylandEavesdropsMouse( bool v )
    {
      if (v != mXwaylandEavesdropsMouse && !isXwaylandEavesdropsMouseImmutable()) {
        mXwaylandEavesdropsMouse = v;
        Q_EMIT xwaylandEavesdropsMouseChanged();
      }
    }

    Q_PROPERTY(bool xwaylandEavesdropsMouse READ xwaylandEavesdropsMouse WRITE setXwaylandEavesdropsMouse NOTIFY xwaylandEavesdropsMouseChanged)
    Q_PROPERTY(bool isXwaylandEavesdropsMouseImmutable READ isXwaylandEavesdropsMouseImmutable CONSTANT)
    Q_PROPERTY(bool defaultXwaylandEavesdropsMouseValue READ defaultXwaylandEavesdropsMouseValue CONSTANT)
    /**
      Get XwaylandEavesdropsMouse
    */
    bool xwaylandEavesdropsMouse() const
    {
      return mXwaylandEavesdropsMouse;
    }

    /**
      Is XwaylandEavesdropsMouse Immutable
    */
    bool isXwaylandEavesdropsMouseImmutable() const
    {
      return isImmutable( QStringLiteral( "xwaylandEavesdropsMouse" ) );
    }

    /**
      Get XwaylandEavesdropsMouse default value
    */
    bool defaultXwaylandEavesdropsMouseValue() const
    {
        return defaultXwaylandEavesdropsMouseValue_helper();
    }

    /**
      Get Item object corresponding to xwaylandEavesdropsMouse()
    */
    KConfigCompilerSignallingItem *xwaylandEavesdropsMouseItem()
    {
      return mXwaylandEavesdropsMouseItem;
    }

    /**
      Set XwaylandEisNoPrompt
    */
    void setXwaylandEisNoPrompt( bool v )
    {
      if (v != mXwaylandEisNoPrompt && !isXwaylandEisNoPromptImmutable()) {
        mXwaylandEisNoPrompt = v;
        Q_EMIT xwaylandEisNoPromptChanged();
      }
    }

    Q_PROPERTY(bool xwaylandEisNoPrompt READ xwaylandEisNoPrompt WRITE setXwaylandEisNoPrompt NOTIFY xwaylandEisNoPromptChanged)
    Q_PROPERTY(bool isXwaylandEisNoPromptImmutable READ isXwaylandEisNoPromptImmutable CONSTANT)
    Q_PROPERTY(bool defaultXwaylandEisNoPromptValue READ defaultXwaylandEisNoPromptValue CONSTANT)
    /**
      Get XwaylandEisNoPrompt
    */
    bool xwaylandEisNoPrompt() const
    {
      return mXwaylandEisNoPrompt;
    }

    /**
      Is XwaylandEisNoPrompt Immutable
    */
    bool isXwaylandEisNoPromptImmutable() const
    {
      return isImmutable( QStringLiteral( "xwaylandEisNoPrompt" ) );
    }

    /**
      Get XwaylandEisNoPrompt default value
    */
    bool defaultXwaylandEisNoPromptValue() const
    {
        return defaultXwaylandEisNoPromptValue_helper();
    }

    /**
      Get Item object corresponding to xwaylandEisNoPrompt()
    */
    KConfigCompilerSignallingItem *xwaylandEisNoPromptItem()
    {
      return mXwaylandEisNoPromptItem;
    }

    /**
      Set XwaylandEisNoPromptApps
    */
    void setXwaylandEisNoPromptApps( const QStringList & v )
    {
      if (v != mXwaylandEisNoPromptApps && !isXwaylandEisNoPromptAppsImmutable()) {
        mXwaylandEisNoPromptApps = v;
        Q_EMIT XwaylandEisNoPromptAppsChanged();
      }
    }

    Q_PROPERTY(QStringList xwaylandEisNoPromptApps READ xwaylandEisNoPromptApps WRITE setXwaylandEisNoPromptApps NOTIFY XwaylandEisNoPromptAppsChanged)
    Q_PROPERTY(bool isXwaylandEisNoPromptAppsImmutable READ isXwaylandEisNoPromptAppsImmutable CONSTANT)
    /**
      Get XwaylandEisNoPromptApps
    */
    QStringList xwaylandEisNoPromptApps() const
    {
      return mXwaylandEisNoPromptApps;
    }

    /**
      Is XwaylandEisNoPromptApps Immutable
    */
    bool isXwaylandEisNoPromptAppsImmutable() const
    {
      return isImmutable( QStringLiteral( "XwaylandEisNoPromptApps" ) );
    }

    /**
      Get Item object corresponding to XwaylandEisNoPromptApps()
    */
    KConfigCompilerSignallingItem *xwaylandEisNoPromptAppsItem()
    {
      return mXwaylandEisNoPromptAppsItem;
    }


    enum {
      signalXwaylandEavesdropsChanged = 1,
      signalXwaylandEavesdropsMouseChanged = 2,
      signalXwaylandEisNoPromptChanged = 3,
      signalXwaylandEisNoPromptAppsChanged = 4
    };

  Q_SIGNALS:
    void xwaylandEavesdropsChanged();

    void xwaylandEavesdropsMouseChanged();

    void xwaylandEisNoPromptChanged();

    void XwaylandEisNoPromptAppsChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:

    // Xwayland
    int mXwaylandEavesdrops;
    int defaultXwaylandEavesdropsValue_helper() const;
    bool mXwaylandEavesdropsMouse;
    bool defaultXwaylandEavesdropsMouseValue_helper() const;
    bool mXwaylandEisNoPrompt;
    bool defaultXwaylandEisNoPromptValue_helper() const;
    QStringList mXwaylandEisNoPromptApps;
    QStringList defaultXwaylandEisNoPromptAppsValue_helper() const;

  private:
    KConfigCompilerSignallingItem *mXwaylandEavesdropsItem;
    KConfigCompilerSignallingItem *mXwaylandEavesdropsMouseItem;
    KConfigCompilerSignallingItem *mXwaylandEisNoPromptItem;
    KConfigCompilerSignallingItem *mXwaylandEisNoPromptAppsItem;
};

#endif

