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

#include <KUserFeedback/Provider>

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

class PlasmaUserFeedback : public KConfigSkeleton
{
  Q_OBJECT
  public:

    PlasmaUserFeedback( KSharedConfig::Ptr config = KSharedConfig::openConfig() );
    ~PlasmaUserFeedback() override;

    /**
      Set FeedbackLevel
    */
    void setFeedbackLevel( int v )
    {
      if (v != mFeedbackLevel && !isFeedbackLevelImmutable()) {
        mFeedbackLevel = v;
        Q_EMIT FeedbackLevelChanged();
      }
    }

    Q_PROPERTY(int feedbackLevel READ feedbackLevel WRITE setFeedbackLevel NOTIFY FeedbackLevelChanged)
    Q_PROPERTY(bool isFeedbackLevelImmutable READ isFeedbackLevelImmutable CONSTANT)
    /**
      Get FeedbackLevel
    */
    int feedbackLevel() const
    {
      return mFeedbackLevel;
    }

    /**
      Is FeedbackLevel Immutable
    */
    bool isFeedbackLevelImmutable() const
    {
      return isImmutable( QStringLiteral( "FeedbackLevel" ) );
    }


    enum {
      signalFeedbackLevelChanged = 1
    };

  Q_SIGNALS:
    void FeedbackLevelChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:

    // Global
    int mFeedbackLevel;
};

#endif

