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

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

class KeyboardSettings : public KConfigSkeleton
{
  Q_OBJECT
  public:

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

    /**
      Set LayoutList
    */
    void setLayoutList( const QStringList & v )
    {
      if (v != mLayoutList && !isLayoutListImmutable()) {
        mLayoutList = v;
        Q_EMIT layoutListChanged();
      }
    }

    Q_PROPERTY(QStringList layoutList READ layoutList WRITE setLayoutList NOTIFY layoutListChanged)
    Q_PROPERTY(bool isLayoutListImmutable READ isLayoutListImmutable CONSTANT)
    Q_PROPERTY(QStringList defaultLayoutListValue READ defaultLayoutListValue CONSTANT)
    /**
      Get LayoutList
    */
    QStringList layoutList() const
    {
      return mLayoutList;
    }

    /**
      Is LayoutList Immutable
    */
    bool isLayoutListImmutable() const
    {
      return isImmutable( QStringLiteral( "layoutList" ) );
    }

    /**
      Get LayoutList default value
    */
    QStringList defaultLayoutListValue() const
    {
        return defaultLayoutListValue_helper();
    }

    /**
      Set LayoutLoopCount
    */
    void setLayoutLoopCount( int v )
    {
      if (v != mLayoutLoopCount && !isLayoutLoopCountImmutable()) {
        mLayoutLoopCount = v;
        Q_EMIT layoutLoopCountChanged();
      }
    }

    Q_PROPERTY(int layoutLoopCount READ layoutLoopCount WRITE setLayoutLoopCount NOTIFY layoutLoopCountChanged)
    Q_PROPERTY(bool isLayoutLoopCountImmutable READ isLayoutLoopCountImmutable CONSTANT)
    Q_PROPERTY(int defaultLayoutLoopCountValue READ defaultLayoutLoopCountValue CONSTANT)
    /**
      Get LayoutLoopCount
    */
    int layoutLoopCount() const
    {
      return mLayoutLoopCount;
    }

    /**
      Is LayoutLoopCount Immutable
    */
    bool isLayoutLoopCountImmutable() const
    {
      return isImmutable( QStringLiteral( "layoutLoopCount" ) );
    }

    /**
      Get LayoutLoopCount default value
    */
    int defaultLayoutLoopCountValue() const
    {
        return defaultLayoutLoopCountValue_helper();
    }

    /**
      Set Model
    */
    void setKeyboardModel( const QString & v )
    {
      if (v != mKeyboardModel && !isKeyboardModelImmutable()) {
        mKeyboardModel = v;
        Q_EMIT keyboardModelChanged();
      }
    }

    Q_PROPERTY(QString keyboardModel READ keyboardModel WRITE setKeyboardModel NOTIFY keyboardModelChanged)
    Q_PROPERTY(bool isKeyboardModelImmutable READ isKeyboardModelImmutable CONSTANT)
    Q_PROPERTY(QString defaultKeyboardModelValue READ defaultKeyboardModelValue CONSTANT)
    /**
      Get Model
    */
    QString keyboardModel() const
    {
      return mKeyboardModel;
    }

    /**
      Is Model Immutable
    */
    bool isKeyboardModelImmutable() const
    {
      return isImmutable( QStringLiteral( "keyboardModel" ) );
    }

    /**
      Get Model default value
    */
    QString defaultKeyboardModelValue() const
    {
        return defaultKeyboardModelValue_helper();
    }

    /**
      Set Options
    */
    void setXkbOptions( const QStringList & v )
    {
      if (v != mXkbOptions && !isXkbOptionsImmutable()) {
        mXkbOptions = v;
        Q_EMIT xkbOptionsChanged();
      }
    }

    Q_PROPERTY(QStringList xkbOptions READ xkbOptions WRITE setXkbOptions NOTIFY xkbOptionsChanged)
    Q_PROPERTY(bool isXkbOptionsImmutable READ isXkbOptionsImmutable CONSTANT)
    Q_PROPERTY(QStringList defaultXkbOptionsValue READ defaultXkbOptionsValue CONSTANT)
    /**
      Get Options
    */
    QStringList xkbOptions() const
    {
      return mXkbOptions;
    }

    /**
      Is Options Immutable
    */
    bool isXkbOptionsImmutable() const
    {
      return isImmutable( QStringLiteral( "xkbOptions" ) );
    }

    /**
      Get Options default value
    */
    QStringList defaultXkbOptionsValue() const
    {
        return defaultXkbOptionsValue_helper();
    }

    /**
      Set ResetOldOptions
    */
    void setResetOldXkbOptions( bool v )
    {
      if (v != mResetOldXkbOptions && !isResetOldXkbOptionsImmutable()) {
        mResetOldXkbOptions = v;
        Q_EMIT resetOldXkbOptionsChanged();
      }
    }

    Q_PROPERTY(bool resetOldXkbOptions READ resetOldXkbOptions WRITE setResetOldXkbOptions NOTIFY resetOldXkbOptionsChanged)
    Q_PROPERTY(bool isResetOldXkbOptionsImmutable READ isResetOldXkbOptionsImmutable CONSTANT)
    Q_PROPERTY(bool defaultResetOldXkbOptionsValue READ defaultResetOldXkbOptionsValue CONSTANT)
    /**
      Get ResetOldOptions
    */
    bool resetOldXkbOptions() const
    {
      return mResetOldXkbOptions;
    }

    /**
      Is ResetOldOptions Immutable
    */
    bool isResetOldXkbOptionsImmutable() const
    {
      return isImmutable( QStringLiteral( "resetOldXkbOptions" ) );
    }

    /**
      Get ResetOldOptions default value
    */
    bool defaultResetOldXkbOptionsValue() const
    {
        return defaultResetOldXkbOptionsValue_helper();
    }

    /**
      Set SwitchMode
    */
    void setSwitchMode( const QString & v )
    {
      if (v != mSwitchMode && !isSwitchModeImmutable()) {
        mSwitchMode = v;
        Q_EMIT switchModeChanged();
      }
    }

    Q_PROPERTY(QString switchMode READ switchMode WRITE setSwitchMode NOTIFY switchModeChanged)
    Q_PROPERTY(bool isSwitchModeImmutable READ isSwitchModeImmutable CONSTANT)
    Q_PROPERTY(QString defaultSwitchModeValue READ defaultSwitchModeValue CONSTANT)
    /**
      Get SwitchMode
    */
    QString switchMode() const
    {
      return mSwitchMode;
    }

    /**
      Is SwitchMode Immutable
    */
    bool isSwitchModeImmutable() const
    {
      return isImmutable( QStringLiteral( "switchMode" ) );
    }

    /**
      Get SwitchMode default value
    */
    QString defaultSwitchModeValue() const
    {
        return defaultSwitchModeValue_helper();
    }

    /**
      Set Use
    */
    void setConfigureLayouts( bool v )
    {
      if (v != mConfigureLayouts && !isConfigureLayoutsImmutable()) {
        mConfigureLayouts = v;
        Q_EMIT configureLayoutsChanged();
      }
    }

    Q_PROPERTY(bool configureLayouts READ configureLayouts WRITE setConfigureLayouts NOTIFY configureLayoutsChanged)
    Q_PROPERTY(bool isConfigureLayoutsImmutable READ isConfigureLayoutsImmutable CONSTANT)
    Q_PROPERTY(bool defaultConfigureLayoutsValue READ defaultConfigureLayoutsValue CONSTANT)
    /**
      Get Use
    */
    bool configureLayouts() const
    {
      return mConfigureLayouts;
    }

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

    /**
      Get Use default value
    */
    bool defaultConfigureLayoutsValue() const
    {
        return defaultConfigureLayoutsValue_helper();
    }

    /**
      Set VariantList
    */
    void setVariantList( const QStringList & v )
    {
      if (v != mVariantList && !isVariantListImmutable()) {
        mVariantList = v;
        Q_EMIT variantListChanged();
      }
    }

    Q_PROPERTY(QStringList variantList READ variantList WRITE setVariantList NOTIFY variantListChanged)
    Q_PROPERTY(bool isVariantListImmutable READ isVariantListImmutable CONSTANT)
    Q_PROPERTY(QStringList defaultVariantListValue READ defaultVariantListValue CONSTANT)
    /**
      Get VariantList
    */
    QStringList variantList() const
    {
      return mVariantList;
    }

    /**
      Is VariantList Immutable
    */
    bool isVariantListImmutable() const
    {
      return isImmutable( QStringLiteral( "variantList" ) );
    }

    /**
      Get VariantList default value
    */
    QStringList defaultVariantListValue() const
    {
        return defaultVariantListValue_helper();
    }

    /**
      Set DisplayNames
    */
    void setDisplayNames( const QStringList & v )
    {
      if (v != mDisplayNames && !isDisplayNamesImmutable()) {
        mDisplayNames = v;
        Q_EMIT displayNamesChanged();
      }
    }

    Q_PROPERTY(QStringList displayNames READ displayNames WRITE setDisplayNames NOTIFY displayNamesChanged)
    Q_PROPERTY(bool isDisplayNamesImmutable READ isDisplayNamesImmutable CONSTANT)
    Q_PROPERTY(QStringList defaultDisplayNamesValue READ defaultDisplayNamesValue CONSTANT)
    /**
      Get DisplayNames
    */
    QStringList displayNames() const
    {
      return mDisplayNames;
    }

    /**
      Is DisplayNames Immutable
    */
    bool isDisplayNamesImmutable() const
    {
      return isImmutable( QStringLiteral( "displayNames" ) );
    }

    /**
      Get DisplayNames default value
    */
    QStringList defaultDisplayNamesValue() const
    {
        return defaultDisplayNamesValue_helper();
    }


    enum {
      signalLayoutListChanged = 1,
      signalLayoutLoopCountChanged = 2,
      signalKeyboardModelChanged = 3,
      signalXkbOptionsChanged = 4,
      signalResetOldXkbOptionsChanged = 5,
      signalSwitchModeChanged = 6,
      signalConfigureLayoutsChanged = 7,
      signalVariantListChanged = 8,
      signalDisplayNamesChanged = 9
    };

  Q_SIGNALS:
    void layoutListChanged();

    void layoutLoopCountChanged();

    void keyboardModelChanged();

    void xkbOptionsChanged();

    void resetOldXkbOptionsChanged();

    void switchModeChanged();

    void configureLayoutsChanged();

    void variantListChanged();

    void displayNamesChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:

    // Layout
    QStringList mLayoutList;
    QStringList defaultLayoutListValue_helper() const;
    int mLayoutLoopCount;
    int defaultLayoutLoopCountValue_helper() const;
    QString mKeyboardModel;
    QString defaultKeyboardModelValue_helper() const;
    QStringList mXkbOptions;
    QStringList defaultXkbOptionsValue_helper() const;
    bool mResetOldXkbOptions;
    bool defaultResetOldXkbOptionsValue_helper() const;
    QString mSwitchMode;
    QString defaultSwitchModeValue_helper() const;
    bool mConfigureLayouts;
    bool defaultConfigureLayoutsValue_helper() const;
    QStringList mVariantList;
    QStringList defaultVariantListValue_helper() const;
    QStringList mDisplayNames;
    QStringList defaultDisplayNamesValue_helper() const;
};

#endif

