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

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

class LaunchFeedbackSettings : public KConfigSkeleton
{
  Q_OBJECT
  public:

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

    /**
      Set Blinking
    */
    void setBlinking( bool v )
    {
      if (v != mBlinking && !isBlinkingImmutable()) {
        mBlinking = v;
        Q_EMIT blinkingChanged();
      }
    }

    Q_PROPERTY(bool blinking READ blinking WRITE setBlinking NOTIFY blinkingChanged)
    Q_PROPERTY(bool isBlinkingImmutable READ isBlinkingImmutable CONSTANT)
    Q_PROPERTY(bool defaultBlinkingValue READ defaultBlinkingValue CONSTANT)
    /**
      Get Blinking
    */
    bool blinking() const
    {
      return mBlinking;
    }

    /**
      Is Blinking Immutable
    */
    bool isBlinkingImmutable() const
    {
      return isImmutable( QStringLiteral( "blinking" ) );
    }

    /**
      Get Blinking default value
    */
    bool defaultBlinkingValue() const
    {
        return defaultBlinkingValue_helper();
    }

    /**
      Set Bouncing
    */
    void setBouncing( bool v )
    {
      if (v != mBouncing && !isBouncingImmutable()) {
        mBouncing = v;
        Q_EMIT bouncingChanged();
      }
    }

    Q_PROPERTY(bool bouncing READ bouncing WRITE setBouncing NOTIFY bouncingChanged)
    Q_PROPERTY(bool isBouncingImmutable READ isBouncingImmutable CONSTANT)
    Q_PROPERTY(bool defaultBouncingValue READ defaultBouncingValue CONSTANT)
    /**
      Get Bouncing
    */
    bool bouncing() const
    {
      return mBouncing;
    }

    /**
      Is Bouncing Immutable
    */
    bool isBouncingImmutable() const
    {
      return isImmutable( QStringLiteral( "bouncing" ) );
    }

    /**
      Get Bouncing default value
    */
    bool defaultBouncingValue() const
    {
        return defaultBouncingValue_helper();
    }

    /**
      Set Timeout in seconds
    */
    void setCursorTimeout( int v )
    {
      if (v != mCursorTimeout && !isCursorTimeoutImmutable()) {
        mCursorTimeout = v;
        Q_EMIT cursorTimeoutChanged();
      }
    }

    Q_PROPERTY(int cursorTimeout READ cursorTimeout WRITE setCursorTimeout NOTIFY cursorTimeoutChanged)
    Q_PROPERTY(bool isCursorTimeoutImmutable READ isCursorTimeoutImmutable CONSTANT)
    Q_PROPERTY(int defaultCursorTimeoutValue READ defaultCursorTimeoutValue CONSTANT)
    /**
      Get Timeout in seconds
    */
    int cursorTimeout() const
    {
      return mCursorTimeout;
    }

    /**
      Is Timeout in seconds Immutable
    */
    bool isCursorTimeoutImmutable() const
    {
      return isImmutable( QStringLiteral( "cursorTimeout" ) );
    }

    /**
      Get Timeout in seconds default value
    */
    int defaultCursorTimeoutValue() const
    {
        return defaultCursorTimeoutValue_helper();
    }

    /**
      Set BusyCursor
    */
    void setBusyCursor( bool v )
    {
      if (v != mBusyCursor && !isBusyCursorImmutable()) {
        mBusyCursor = v;
        Q_EMIT busyCursorChanged();
      }
    }

    Q_PROPERTY(bool busyCursor READ busyCursor WRITE setBusyCursor NOTIFY busyCursorChanged)
    Q_PROPERTY(bool isBusyCursorImmutable READ isBusyCursorImmutable CONSTANT)
    Q_PROPERTY(bool defaultBusyCursorValue READ defaultBusyCursorValue CONSTANT)
    /**
      Get BusyCursor
    */
    bool busyCursor() const
    {
      return mBusyCursor;
    }

    /**
      Is BusyCursor Immutable
    */
    bool isBusyCursorImmutable() const
    {
      return isImmutable( QStringLiteral( "busyCursor" ) );
    }

    /**
      Get BusyCursor default value
    */
    bool defaultBusyCursorValue() const
    {
        return defaultBusyCursorValue_helper();
    }

    /**
      Set TaskbarButton
    */
    void setTaskbarButton( bool v )
    {
      if (v != mTaskbarButton && !isTaskbarButtonImmutable()) {
        mTaskbarButton = v;
        Q_EMIT taskbarButtonChanged();
      }
    }

    Q_PROPERTY(bool taskbarButton READ taskbarButton WRITE setTaskbarButton NOTIFY taskbarButtonChanged)
    Q_PROPERTY(bool isTaskbarButtonImmutable READ isTaskbarButtonImmutable CONSTANT)
    Q_PROPERTY(bool defaultTaskbarButtonValue READ defaultTaskbarButtonValue CONSTANT)
    /**
      Get TaskbarButton
    */
    bool taskbarButton() const
    {
      return mTaskbarButton;
    }

    /**
      Is TaskbarButton Immutable
    */
    bool isTaskbarButtonImmutable() const
    {
      return isImmutable( QStringLiteral( "taskbarButton" ) );
    }

    /**
      Get TaskbarButton default value
    */
    bool defaultTaskbarButtonValue() const
    {
        return defaultTaskbarButtonValue_helper();
    }

    /**
      Set Timeout in seconds
    */
    void setTaskbarTimeout( int v )
    {
      if (v != mTaskbarTimeout && !isTaskbarTimeoutImmutable()) {
        mTaskbarTimeout = v;
        Q_EMIT taskbarTimeoutChanged();
      }
    }

    Q_PROPERTY(int taskbarTimeout READ taskbarTimeout WRITE setTaskbarTimeout NOTIFY taskbarTimeoutChanged)
    Q_PROPERTY(bool isTaskbarTimeoutImmutable READ isTaskbarTimeoutImmutable CONSTANT)
    Q_PROPERTY(int defaultTaskbarTimeoutValue READ defaultTaskbarTimeoutValue CONSTANT)
    /**
      Get Timeout in seconds
    */
    int taskbarTimeout() const
    {
      return mTaskbarTimeout;
    }

    /**
      Is Timeout in seconds Immutable
    */
    bool isTaskbarTimeoutImmutable() const
    {
      return isImmutable( QStringLiteral( "taskbarTimeout" ) );
    }

    /**
      Get Timeout in seconds default value
    */
    int defaultTaskbarTimeoutValue() const
    {
        return defaultTaskbarTimeoutValue_helper();
    }


    enum {
      signalBlinkingChanged = 1,
      signalBouncingChanged = 2,
      signalCursorTimeoutChanged = 3,
      signalBusyCursorChanged = 4,
      signalTaskbarButtonChanged = 5,
      signalTaskbarTimeoutChanged = 6
    };

  Q_SIGNALS:
    void blinkingChanged();

    void bouncingChanged();

    void cursorTimeoutChanged();

    void busyCursorChanged();

    void taskbarButtonChanged();

    void taskbarTimeoutChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:

    // BusyCursorSettings
    bool mBlinking;
    bool defaultBlinkingValue_helper() const;
    bool mBouncing;
    bool defaultBouncingValue_helper() const;
    int mCursorTimeout;
    int defaultCursorTimeoutValue_helper() const;

    // FeedbackStyle
    bool mBusyCursor;
    bool defaultBusyCursorValue_helper() const;
    bool mTaskbarButton;
    bool defaultTaskbarButtonValue_helper() const;

    // TaskbarButtonSettings
    int mTaskbarTimeout;
    int defaultTaskbarTimeoutValue_helper() const;
};

#endif

