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

#include <kcoreconfigskeleton.h>
#include <QCoreApplication>
#include <QDebug>

class InputHandlerSettings : public KCoreConfigSkeleton
{
  Q_OBJECT
  public:

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

    /**
      Set Enabled
    */
    static
    void setEnabled( bool v )
    {
      if (v != self()->mEnabled && !self()->isEnabledImmutable()) {
        self()->mEnabled = v;
        Q_EMIT self()->enabledChanged();
      }
    }

    Q_PROPERTY(bool enabled READ enabled WRITE setEnabled NOTIFY enabledChanged)
    Q_PROPERTY(bool isEnabledImmutable READ isEnabledImmutable CONSTANT)
    Q_PROPERTY(bool defaultEnabledValue READ defaultEnabledValue CONSTANT)
    /**
      Get Enabled
    */
    static
    bool enabled()
    {
      return self()->mEnabled;
    }

    /**
      Is Enabled Immutable
    */
    static
    bool isEnabledImmutable()
    {
      return self()->isImmutable( QStringLiteral( "enabled" ) );
    }

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

    /**
      Set GameControllerEnabled
    */
    static
    void setGameControllerEnabled( bool v )
    {
      if (v != self()->mGameControllerEnabled && !self()->isGameControllerEnabledImmutable()) {
        self()->mGameControllerEnabled = v;
        Q_EMIT self()->gameControllerEnabledChanged();
      }
    }

    Q_PROPERTY(bool gameControllerEnabled READ gameControllerEnabled WRITE setGameControllerEnabled NOTIFY gameControllerEnabledChanged)
    Q_PROPERTY(bool isGameControllerEnabledImmutable READ isGameControllerEnabledImmutable CONSTANT)
    Q_PROPERTY(bool defaultGameControllerEnabledValue READ defaultGameControllerEnabledValue CONSTANT)
    /**
      Get GameControllerEnabled
    */
    static
    bool gameControllerEnabled()
    {
      return self()->mGameControllerEnabled;
    }

    /**
      Is GameControllerEnabled Immutable
    */
    static
    bool isGameControllerEnabledImmutable()
    {
      return self()->isImmutable( QStringLiteral( "gameControllerEnabled" ) );
    }

    /**
      Get GameControllerEnabled default value
    */
    static
    bool defaultGameControllerEnabledValue()
    {
        return defaultGameControllerEnabledValue_helper();
    }

    /**
      Set CecEnabled
    */
    static
    void setCecEnabled( bool v )
    {
      if (v != self()->mCecEnabled && !self()->isCecEnabledImmutable()) {
        self()->mCecEnabled = v;
        Q_EMIT self()->cecEnabledChanged();
      }
    }

    Q_PROPERTY(bool cecEnabled READ cecEnabled WRITE setCecEnabled NOTIFY cecEnabledChanged)
    Q_PROPERTY(bool isCecEnabledImmutable READ isCecEnabledImmutable CONSTANT)
    Q_PROPERTY(bool defaultCecEnabledValue READ defaultCecEnabledValue CONSTANT)
    /**
      Get CecEnabled
    */
    static
    bool cecEnabled()
    {
      return self()->mCecEnabled;
    }

    /**
      Is CecEnabled Immutable
    */
    static
    bool isCecEnabledImmutable()
    {
      return self()->isImmutable( QStringLiteral( "cecEnabled" ) );
    }

    /**
      Get CecEnabled default value
    */
    static
    bool defaultCecEnabledValue()
    {
        return defaultCecEnabledValue_helper();
    }

    /**
      Set AutoSuppressInput
    */
    static
    void setAutoSuppressInput( bool v )
    {
      if (v != self()->mAutoSuppressInput && !self()->isAutoSuppressInputImmutable()) {
        self()->mAutoSuppressInput = v;
        Q_EMIT self()->autoSuppressInputChanged();
      }
    }

    Q_PROPERTY(bool autoSuppressInput READ autoSuppressInput WRITE setAutoSuppressInput NOTIFY autoSuppressInputChanged)
    Q_PROPERTY(bool isAutoSuppressInputImmutable READ isAutoSuppressInputImmutable CONSTANT)
    Q_PROPERTY(bool defaultAutoSuppressInputValue READ defaultAutoSuppressInputValue CONSTANT)
    /**
      Get AutoSuppressInput
    */
    static
    bool autoSuppressInput()
    {
      return self()->mAutoSuppressInput;
    }

    /**
      Is AutoSuppressInput Immutable
    */
    static
    bool isAutoSuppressInputImmutable()
    {
      return self()->isImmutable( QStringLiteral( "autoSuppressInput" ) );
    }

    /**
      Get AutoSuppressInput default value
    */
    static
    bool defaultAutoSuppressInputValue()
    {
        return defaultAutoSuppressInputValue_helper();
    }

    /**
      Set DisabledControllers
    */
    static
    void setDisabledControllers( const QStringList & v )
    {
      if (v != self()->mDisabledControllers && !self()->isDisabledControllersImmutable()) {
        self()->mDisabledControllers = v;
        Q_EMIT self()->disabledControllersChanged();
      }
    }

    Q_PROPERTY(QStringList disabledControllers READ disabledControllers WRITE setDisabledControllers NOTIFY disabledControllersChanged)
    Q_PROPERTY(bool isDisabledControllersImmutable READ isDisabledControllersImmutable CONSTANT)
    /**
      Get DisabledControllers
    */
    static
    QStringList disabledControllers()
    {
      return self()->mDisabledControllers;
    }

    /**
      Is DisabledControllers Immutable
    */
    static
    bool isDisabledControllersImmutable()
    {
      return self()->isImmutable( QStringLiteral( "disabledControllers" ) );
    }

    /**
      Set StartButtonDisabledWhenSuppressedControllers
    */
    static
    void setStartButtonDisabledWhenSuppressedControllers( const QStringList & v )
    {
      if (v != self()->mStartButtonDisabledWhenSuppressedControllers && !self()->isStartButtonDisabledWhenSuppressedControllersImmutable()) {
        self()->mStartButtonDisabledWhenSuppressedControllers = v;
        Q_EMIT self()->startButtonDisabledWhenSuppressedControllersChanged();
      }
    }

    Q_PROPERTY(QStringList startButtonDisabledWhenSuppressedControllers READ startButtonDisabledWhenSuppressedControllers WRITE setStartButtonDisabledWhenSuppressedControllers NOTIFY startButtonDisabledWhenSuppressedControllersChanged)
    Q_PROPERTY(bool isStartButtonDisabledWhenSuppressedControllersImmutable READ isStartButtonDisabledWhenSuppressedControllersImmutable CONSTANT)
    /**
      Get StartButtonDisabledWhenSuppressedControllers
    */
    static
    QStringList startButtonDisabledWhenSuppressedControllers()
    {
      return self()->mStartButtonDisabledWhenSuppressedControllers;
    }

    /**
      Is StartButtonDisabledWhenSuppressedControllers Immutable
    */
    static
    bool isStartButtonDisabledWhenSuppressedControllersImmutable()
    {
      return self()->isImmutable( QStringLiteral( "startButtonDisabledWhenSuppressedControllers" ) );
    }


    enum {
      signalEnabledChanged = 1,
      signalGameControllerEnabledChanged = 2,
      signalCecEnabledChanged = 3,
      signalAutoSuppressInputChanged = 4,
      signalDisabledControllersChanged = 5,
      signalStartButtonDisabledWhenSuppressedControllersChanged = 6
    };

  Q_SIGNALS:
    void enabledChanged();

    void gameControllerEnabledChanged();

    void cecEnabledChanged();

    void autoSuppressInputChanged();

    void disabledControllersChanged();

    void startButtonDisabledWhenSuppressedControllersChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:
    InputHandlerSettings();
    friend class InputHandlerSettingsHelper;


    // General
    bool mEnabled;
    static bool defaultEnabledValue_helper();
    bool mGameControllerEnabled;
    static bool defaultGameControllerEnabledValue_helper();
    bool mCecEnabled;
    static bool defaultCecEnabledValue_helper();
    bool mAutoSuppressInput;
    static bool defaultAutoSuppressInputValue_helper();
    QStringList mDisabledControllers;
    static QStringList defaultDisabledControllersValue_helper();
    QStringList mStartButtonDisabledWhenSuppressedControllers;
    static QStringList defaultStartButtonDisabledWhenSuppressedControllersValue_helper();
};

#endif

