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

#include "notificationmanager_export.h"

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

namespace NotificationManager {

class NOTIFICATIONMANAGER_EXPORT JobSettings : public KConfigSkeleton
{
  Q_OBJECT
  public:

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

    /**
      Set InNotifications
    */
    void setInNotifications( bool v )
    {
      if (v != mInNotifications && !isInNotificationsImmutable()) {
        mInNotifications = v;
        Q_EMIT InNotificationsChanged();
      }
    }

    Q_PROPERTY(bool inNotifications READ inNotifications WRITE setInNotifications NOTIFY InNotificationsChanged)
    Q_PROPERTY(bool isInNotificationsImmutable READ isInNotificationsImmutable CONSTANT)
    Q_PROPERTY(bool defaultInNotificationsValue READ defaultInNotificationsValue CONSTANT)
    /**
      Get InNotifications
    */
    bool inNotifications() const
    {
      return mInNotifications;
    }

    /**
      Is InNotifications Immutable
    */
    bool isInNotificationsImmutable() const
    {
      return isImmutable( QStringLiteral( "InNotifications" ) );
    }

    /**
      Get InNotifications default value
    */
    bool defaultInNotificationsValue() const
    {
        return defaultInNotificationsValue_helper();
    }

    /**
      Set PermanentPopups
    */
    void setPermanentPopups( bool v )
    {
      if (v != mPermanentPopups && !isPermanentPopupsImmutable()) {
        mPermanentPopups = v;
        Q_EMIT PermanentPopupsChanged();
      }
    }

    Q_PROPERTY(bool permanentPopups READ permanentPopups WRITE setPermanentPopups NOTIFY PermanentPopupsChanged)
    Q_PROPERTY(bool isPermanentPopupsImmutable READ isPermanentPopupsImmutable CONSTANT)
    Q_PROPERTY(bool defaultPermanentPopupsValue READ defaultPermanentPopupsValue CONSTANT)
    /**
      Get PermanentPopups
    */
    bool permanentPopups() const
    {
      return mPermanentPopups;
    }

    /**
      Is PermanentPopups Immutable
    */
    bool isPermanentPopupsImmutable() const
    {
      return isImmutable( QStringLiteral( "PermanentPopups" ) );
    }

    /**
      Get PermanentPopups default value
    */
    bool defaultPermanentPopupsValue() const
    {
        return defaultPermanentPopupsValue_helper();
    }


    enum {
      signalInNotificationsChanged = 1,
      signalPermanentPopupsChanged = 2
    };

  Q_SIGNALS:
    void InNotificationsChanged();

    void PermanentPopupsChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:

    // Jobs
    bool mInNotifications;
    bool defaultInNotificationsValue_helper() const;
    bool mPermanentPopups;
    bool defaultPermanentPopupsValue_helper() const;
};

}

#endif

