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

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

class QQmlEngine;
class QJSEngine;

class MouseSettings : public KConfigSkeleton
{
  Q_OBJECT
  QML_ELEMENT
  QML_SINGLETON
  public:

    static MouseSettings *self();
    static MouseSettings *create(QQmlEngine *, QJSEngine *);
    ~MouseSettings() override;

    /**
      Set Left
    */
    static
    void setLeft( const QString & v )
    {
      if (v != self()->mLeft && !self()->isLeftImmutable()) {
        self()->mLeft = v;
        Q_EMIT self()->LeftChanged();
      }
    }

    Q_PROPERTY(QString left READ left WRITE setLeft NOTIFY LeftChanged)
    Q_PROPERTY(bool isLeftImmutable READ isLeftImmutable CONSTANT)
    Q_PROPERTY(QString defaultLeftValue READ defaultLeftValue CONSTANT)
    /**
      Get Left
    */
    static
    QString left()
    {
      return self()->mLeft;
    }

    /**
      Is Left Immutable
    */
    static
    bool isLeftImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Left" ) );
    }

    /**
      Get Left default value
    */
    static
    QString defaultLeftValue()
    {
        return defaultLeftValue_helper();
    }

    /**
      Set Leftx2
    */
    static
    void setLeftx2( const QString & v )
    {
      if (v != self()->mLeftx2 && !self()->isLeftx2Immutable()) {
        self()->mLeftx2 = v;
        Q_EMIT self()->Leftx2Changed();
      }
    }

    Q_PROPERTY(QString leftx2 READ leftx2 WRITE setLeftx2 NOTIFY Leftx2Changed)
    Q_PROPERTY(bool isLeftx2Immutable READ isLeftx2Immutable CONSTANT)
    Q_PROPERTY(QString defaultLeftx2Value READ defaultLeftx2Value CONSTANT)
    /**
      Get Leftx2
    */
    static
    QString leftx2()
    {
      return self()->mLeftx2;
    }

    /**
      Is Leftx2 Immutable
    */
    static
    bool isLeftx2Immutable()
    {
      return self()->isImmutable( QStringLiteral( "Leftx2" ) );
    }

    /**
      Get Leftx2 default value
    */
    static
    QString defaultLeftx2Value()
    {
        return defaultLeftx2Value_helper();
    }

    /**
      Set Middle
    */
    static
    void setMiddle( const QString & v )
    {
      if (v != self()->mMiddle && !self()->isMiddleImmutable()) {
        self()->mMiddle = v;
        Q_EMIT self()->MiddleChanged();
      }
    }

    Q_PROPERTY(QString middle READ middle WRITE setMiddle NOTIFY MiddleChanged)
    Q_PROPERTY(bool isMiddleImmutable READ isMiddleImmutable CONSTANT)
    Q_PROPERTY(QString defaultMiddleValue READ defaultMiddleValue CONSTANT)
    /**
      Get Middle
    */
    static
    QString middle()
    {
      return self()->mMiddle;
    }

    /**
      Is Middle Immutable
    */
    static
    bool isMiddleImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Middle" ) );
    }

    /**
      Get Middle default value
    */
    static
    QString defaultMiddleValue()
    {
        return defaultMiddleValue_helper();
    }

    /**
      Set Middlex2
    */
    static
    void setMiddlex2( const QString & v )
    {
      if (v != self()->mMiddlex2 && !self()->isMiddlex2Immutable()) {
        self()->mMiddlex2 = v;
        Q_EMIT self()->Middlex2Changed();
      }
    }

    Q_PROPERTY(QString middlex2 READ middlex2 WRITE setMiddlex2 NOTIFY Middlex2Changed)
    Q_PROPERTY(bool isMiddlex2Immutable READ isMiddlex2Immutable CONSTANT)
    Q_PROPERTY(QString defaultMiddlex2Value READ defaultMiddlex2Value CONSTANT)
    /**
      Get Middlex2
    */
    static
    QString middlex2()
    {
      return self()->mMiddlex2;
    }

    /**
      Is Middlex2 Immutable
    */
    static
    bool isMiddlex2Immutable()
    {
      return self()->isImmutable( QStringLiteral( "Middlex2" ) );
    }

    /**
      Get Middlex2 default value
    */
    static
    QString defaultMiddlex2Value()
    {
        return defaultMiddlex2Value_helper();
    }

    /**
      Set Right
    */
    static
    void setRight( const QString & v )
    {
      if (v != self()->mRight && !self()->isRightImmutable()) {
        self()->mRight = v;
        Q_EMIT self()->RightChanged();
      }
    }

    Q_PROPERTY(QString right READ right WRITE setRight NOTIFY RightChanged)
    Q_PROPERTY(bool isRightImmutable READ isRightImmutable CONSTANT)
    Q_PROPERTY(QString defaultRightValue READ defaultRightValue CONSTANT)
    /**
      Get Right
    */
    static
    QString right()
    {
      return self()->mRight;
    }

    /**
      Is Right Immutable
    */
    static
    bool isRightImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Right" ) );
    }

    /**
      Get Right default value
    */
    static
    QString defaultRightValue()
    {
        return defaultRightValue_helper();
    }

    /**
      Set Rightx2
    */
    static
    void setRightx2( const QString & v )
    {
      if (v != self()->mRightx2 && !self()->isRightx2Immutable()) {
        self()->mRightx2 = v;
        Q_EMIT self()->Rightx2Changed();
      }
    }

    Q_PROPERTY(QString rightx2 READ rightx2 WRITE setRightx2 NOTIFY Rightx2Changed)
    Q_PROPERTY(bool isRightx2Immutable READ isRightx2Immutable CONSTANT)
    /**
      Get Rightx2
    */
    static
    QString rightx2()
    {
      return self()->mRightx2;
    }

    /**
      Is Rightx2 Immutable
    */
    static
    bool isRightx2Immutable()
    {
      return self()->isImmutable( QStringLiteral( "Rightx2" ) );
    }

    /**
      Set Forward
    */
    static
    void setForward( const QString & v )
    {
      if (v != self()->mForward && !self()->isForwardImmutable()) {
        self()->mForward = v;
        Q_EMIT self()->ForwardChanged();
      }
    }

    Q_PROPERTY(QString forward READ forward WRITE setForward NOTIFY ForwardChanged)
    Q_PROPERTY(bool isForwardImmutable READ isForwardImmutable CONSTANT)
    Q_PROPERTY(QString defaultForwardValue READ defaultForwardValue CONSTANT)
    /**
      Get Forward
    */
    static
    QString forward()
    {
      return self()->mForward;
    }

    /**
      Is Forward Immutable
    */
    static
    bool isForwardImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Forward" ) );
    }

    /**
      Get Forward default value
    */
    static
    QString defaultForwardValue()
    {
        return defaultForwardValue_helper();
    }

    /**
      Set Forwardx2
    */
    static
    void setForwardx2( const QString & v )
    {
      if (v != self()->mForwardx2 && !self()->isForwardx2Immutable()) {
        self()->mForwardx2 = v;
        Q_EMIT self()->Forwardx2Changed();
      }
    }

    Q_PROPERTY(QString forwardx2 READ forwardx2 WRITE setForwardx2 NOTIFY Forwardx2Changed)
    Q_PROPERTY(bool isForwardx2Immutable READ isForwardx2Immutable CONSTANT)
    /**
      Get Forwardx2
    */
    static
    QString forwardx2()
    {
      return self()->mForwardx2;
    }

    /**
      Is Forwardx2 Immutable
    */
    static
    bool isForwardx2Immutable()
    {
      return self()->isImmutable( QStringLiteral( "Forwardx2" ) );
    }

    /**
      Set Back
    */
    static
    void setBack( const QString & v )
    {
      if (v != self()->mBack && !self()->isBackImmutable()) {
        self()->mBack = v;
        Q_EMIT self()->BackChanged();
      }
    }

    Q_PROPERTY(QString back READ back WRITE setBack NOTIFY BackChanged)
    Q_PROPERTY(bool isBackImmutable READ isBackImmutable CONSTANT)
    Q_PROPERTY(QString defaultBackValue READ defaultBackValue CONSTANT)
    /**
      Get Back
    */
    static
    QString back()
    {
      return self()->mBack;
    }

    /**
      Is Back Immutable
    */
    static
    bool isBackImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Back" ) );
    }

    /**
      Get Back default value
    */
    static
    QString defaultBackValue()
    {
        return defaultBackValue_helper();
    }

    /**
      Set Backx2
    */
    static
    void setBackx2( const QString & v )
    {
      if (v != self()->mBackx2 && !self()->isBackx2Immutable()) {
        self()->mBackx2 = v;
        Q_EMIT self()->Backx2Changed();
      }
    }

    Q_PROPERTY(QString backx2 READ backx2 WRITE setBackx2 NOTIFY Backx2Changed)
    Q_PROPERTY(bool isBackx2Immutable READ isBackx2Immutable CONSTANT)
    /**
      Get Backx2
    */
    static
    QString backx2()
    {
      return self()->mBackx2;
    }

    /**
      Is Backx2 Immutable
    */
    static
    bool isBackx2Immutable()
    {
      return self()->isImmutable( QStringLiteral( "Backx2" ) );
    }

    /**
      Set ScrollUp
    */
    static
    void setScrollUp( const QString & v )
    {
      if (v != self()->mScrollUp && !self()->isScrollUpImmutable()) {
        self()->mScrollUp = v;
        Q_EMIT self()->ScrollUpChanged();
      }
    }

    Q_PROPERTY(QString scrollUp READ scrollUp WRITE setScrollUp NOTIFY ScrollUpChanged)
    Q_PROPERTY(bool isScrollUpImmutable READ isScrollUpImmutable CONSTANT)
    Q_PROPERTY(QString defaultScrollUpValue READ defaultScrollUpValue CONSTANT)
    /**
      Get ScrollUp
    */
    static
    QString scrollUp()
    {
      return self()->mScrollUp;
    }

    /**
      Is ScrollUp Immutable
    */
    static
    bool isScrollUpImmutable()
    {
      return self()->isImmutable( QStringLiteral( "ScrollUp" ) );
    }

    /**
      Get ScrollUp default value
    */
    static
    QString defaultScrollUpValue()
    {
        return defaultScrollUpValue_helper();
    }

    /**
      Set ScrollDown
    */
    static
    void setScrollDown( const QString & v )
    {
      if (v != self()->mScrollDown && !self()->isScrollDownImmutable()) {
        self()->mScrollDown = v;
        Q_EMIT self()->ScrollDownChanged();
      }
    }

    Q_PROPERTY(QString scrollDown READ scrollDown WRITE setScrollDown NOTIFY ScrollDownChanged)
    Q_PROPERTY(bool isScrollDownImmutable READ isScrollDownImmutable CONSTANT)
    Q_PROPERTY(QString defaultScrollDownValue READ defaultScrollDownValue CONSTANT)
    /**
      Get ScrollDown
    */
    static
    QString scrollDown()
    {
      return self()->mScrollDown;
    }

    /**
      Is ScrollDown Immutable
    */
    static
    bool isScrollDownImmutable()
    {
      return self()->isImmutable( QStringLiteral( "ScrollDown" ) );
    }

    /**
      Get ScrollDown default value
    */
    static
    QString defaultScrollDownValue()
    {
        return defaultScrollDownValue_helper();
    }


    enum {
      signalLeftChanged = 1,
      signalLeftx2Changed = 2,
      signalMiddleChanged = 3,
      signalMiddlex2Changed = 4,
      signalRightChanged = 5,
      signalRightx2Changed = 6,
      signalForwardChanged = 7,
      signalForwardx2Changed = 8,
      signalBackChanged = 9,
      signalBackx2Changed = 10,
      signalScrollUpChanged = 11,
      signalScrollDownChanged = 12
    };

  Q_SIGNALS:
    void LeftChanged();

    void Leftx2Changed();

    void MiddleChanged();

    void Middlex2Changed();

    void RightChanged();

    void Rightx2Changed();

    void ForwardChanged();

    void Forwardx2Changed();

    void BackChanged();

    void Backx2Changed();

    void ScrollUpChanged();

    void ScrollDownChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:
    MouseSettings(QObject *parent = nullptr);
    friend class MouseSettingsHelper;


    // Mouse
    QString mLeft;
    static QString defaultLeftValue_helper();
    QString mLeftx2;
    static QString defaultLeftx2Value_helper();
    QString mMiddle;
    static QString defaultMiddleValue_helper();
    QString mMiddlex2;
    static QString defaultMiddlex2Value_helper();
    QString mRight;
    static QString defaultRightValue_helper();
    QString mRightx2;
    static QString defaultRightx2Value_helper();
    QString mForward;
    static QString defaultForwardValue_helper();
    QString mForwardx2;
    static QString defaultForwardx2Value_helper();
    QString mBack;
    static QString defaultBackValue_helper();
    QString mBackx2;
    static QString defaultBackx2Value_helper();
    QString mScrollUp;
    static QString defaultScrollUpValue_helper();
    QString mScrollDown;
    static QString defaultScrollDownValue_helper();
};

#endif

