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

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

class SkanpageStatePrivate;

class SkanpageState : public KConfigSkeleton
{
  Q_OBJECT
  public:

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

    /**
      Set deviceName
    */
    static
    void setDeviceName( const QString & v );

    Q_PROPERTY(QString deviceName READ deviceName WRITE setDeviceName NOTIFY deviceNameChanged)
    Q_PROPERTY(bool isDeviceNameImmutable READ isDeviceNameImmutable CONSTANT)
    /**
      Get deviceName
    */
    static
    QString deviceName();

    /**
      Is deviceName Immutable
    */
    static
    bool isDeviceNameImmutable();

    /**
      Set deviceModel
    */
    static
    void setDeviceModel( const QString & v );

    Q_PROPERTY(QString deviceModel READ deviceModel WRITE setDeviceModel NOTIFY deviceModelChanged)
    Q_PROPERTY(bool isDeviceModelImmutable READ isDeviceModelImmutable CONSTANT)
    /**
      Get deviceModel
    */
    static
    QString deviceModel();

    /**
      Is deviceModel Immutable
    */
    static
    bool isDeviceModelImmutable();

    /**
      Set deviceVendor
    */
    static
    void setDeviceVendor( const QString & v );

    Q_PROPERTY(QString deviceVendor READ deviceVendor WRITE setDeviceVendor NOTIFY deviceVendorChanged)
    Q_PROPERTY(bool isDeviceVendorImmutable READ isDeviceVendorImmutable CONSTANT)
    /**
      Get deviceVendor
    */
    static
    QString deviceVendor();

    /**
      Is deviceVendor Immutable
    */
    static
    bool isDeviceVendorImmutable();

    /**
      Set showOptions
    */
    static
    void setShowOptions( bool v );

    Q_PROPERTY(bool showOptions READ showOptions WRITE setShowOptions NOTIFY showOptionsChanged)
    Q_PROPERTY(bool isShowOptionsImmutable READ isShowOptionsImmutable CONSTANT)
    /**
      Get showOptions
    */
    static
    bool showOptions();

    /**
      Is showOptions Immutable
    */
    static
    bool isShowOptionsImmutable();

    /**
      Set showAllOptions
    */
    static
    void setShowAllOptions( bool v );

    Q_PROPERTY(bool showAllOptions READ showAllOptions WRITE setShowAllOptions NOTIFY showAllOptionsChanged)
    Q_PROPERTY(bool isShowAllOptionsImmutable READ isShowAllOptionsImmutable CONSTANT)
    /**
      Get showAllOptions
    */
    static
    bool showAllOptions();

    /**
      Is showAllOptions Immutable
    */
    static
    bool isShowAllOptionsImmutable();

    /**
      Set splitViewItemWidth
    */
    static
    void setSplitViewItemWidth( uint v );

    Q_PROPERTY(uint splitViewItemWidth READ splitViewItemWidth WRITE setSplitViewItemWidth NOTIFY splitViewItemWidthChanged)
    Q_PROPERTY(bool isSplitViewItemWidthImmutable READ isSplitViewItemWidthImmutable CONSTANT)
    /**
      Get splitViewItemWidth
    */
    static
    uint splitViewItemWidth();

    /**
      Is splitViewItemWidth Immutable
    */
    static
    bool isSplitViewItemWidthImmutable();


    enum {
      signalDeviceNameChanged = 1,
      signalDeviceModelChanged = 2,
      signalDeviceVendorChanged = 3,
      signalShowOptionsChanged = 4,
      signalShowAllOptionsChanged = 5,
      signalSplitViewItemWidthChanged = 6
    };

  Q_SIGNALS:
    void deviceNameChanged();

    void deviceModelChanged();

    void deviceVendorChanged();

    void showOptionsChanged();

    void showAllOptionsChanged();

    void splitViewItemWidthChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:
    SkanpageState();
    friend class SkanpageStateHelper;

  private:
    SkanpageStatePrivate *d;
};

#endif

