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

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

class CursorThemeSettings : public KConfigSkeleton
{
  Q_OBJECT
  public:

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

    /**
      Set Name of the current pointer theme
    */
    void setCursorTheme( const QString & v )
    {
      if (v != mCursorTheme && !isCursorThemeImmutable()) {
        mCursorTheme = v;
        Q_EMIT cursorThemeChanged();
      }
    }

    Q_PROPERTY(QString cursorTheme READ cursorTheme WRITE setCursorTheme NOTIFY cursorThemeChanged)
    Q_PROPERTY(bool isCursorThemeImmutable READ isCursorThemeImmutable CONSTANT)
    Q_PROPERTY(QString defaultCursorThemeValue READ defaultCursorThemeValue CONSTANT)
    /**
      Get Name of the current pointer theme
    */
    QString cursorTheme() const
    {
      return mCursorTheme;
    }

    /**
      Is Name of the current pointer theme Immutable
    */
    bool isCursorThemeImmutable() const
    {
      return isImmutable( QStringLiteral( "cursorTheme" ) );
    }

    /**
      Get Name of the current pointer theme default value
    */
    QString defaultCursorThemeValue() const
    {
        return defaultCursorThemeValue_helper();
    }

    /**
      Set Current pointer size
    */
    void setCursorSize( int v )
    {
      if (v != mCursorSize && !isCursorSizeImmutable()) {
        mCursorSize = v;
        Q_EMIT cursorSizeChanged();
      }
    }

    Q_PROPERTY(int cursorSize READ cursorSize WRITE setCursorSize NOTIFY cursorSizeChanged)
    Q_PROPERTY(bool isCursorSizeImmutable READ isCursorSizeImmutable CONSTANT)
    Q_PROPERTY(int defaultCursorSizeValue READ defaultCursorSizeValue CONSTANT)
    /**
      Get Current pointer size
    */
    int cursorSize() const
    {
      return mCursorSize;
    }

    /**
      Is Current pointer size Immutable
    */
    bool isCursorSizeImmutable() const
    {
      return isImmutable( QStringLiteral( "cursorSize" ) );
    }

    /**
      Get Current pointer size default value
    */
    int defaultCursorSizeValue() const
    {
        return defaultCursorSizeValue_helper();
    }


    enum {
      signalCursorThemeChanged = 1,
      signalCursorSizeChanged = 2
    };

  Q_SIGNALS:
    void cursorThemeChanged();

    void cursorSizeChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:

    // Mouse
    QString mCursorTheme;
    QString defaultCursorThemeValue_helper() const;
    int mCursorSize;
    int defaultCursorSizeValue_helper() const;
};

#endif

