// This file is generated by kconfig_compiler_kf5 from behaviorsettings.kcfg.
// All changes you do to this file will be lost.
#ifndef NOTIFICATIONMANAGER_BEHAVIORSETTINGS_H
#define NOTIFICATIONMANAGER_BEHAVIORSETTINGS_H

#include "notificationmanager_export.h"

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

namespace NotificationManager {

class NOTIFICATIONMANAGER_EXPORT BehaviorSettings : public KConfigSkeleton
{
  Q_OBJECT
  public:

    BehaviorSettings( const QString & GroupEntry, const QString & DesktopEntry, QObject *parent = nullptr );
    ~BehaviorSettings();

    /**
      Set ShowPopups
    */
    void setShowPopups( bool v )
    {
      if (v != mShowPopups && !isShowPopupsImmutable()) {
        mShowPopups = v;
        Q_EMIT ShowPopupsChanged();
      }
    }

    Q_PROPERTY(bool showPopups READ showPopups WRITE setShowPopups NOTIFY ShowPopupsChanged)
    Q_PROPERTY(bool isShowPopupsImmutable READ isShowPopupsImmutable CONSTANT)
    /**
      Get ShowPopups
    */
    bool showPopups() const
    {
      return mShowPopups;
    }

    /**
      Is ShowPopups Immutable
    */
    bool isShowPopupsImmutable() const
    {
      return isImmutable( QStringLiteral( "ShowPopups" ) );
    }

    /**
      Get ShowPopups default value
    */
    bool defaultShowPopupsValue() const
    {
        return defaultShowPopupsValue_helper();
    }

    /**
      Set ShowPopupsInDndMode
    */
    void setShowPopupsInDndMode( bool v )
    {
      if (v != mShowPopupsInDndMode && !isShowPopupsInDndModeImmutable()) {
        mShowPopupsInDndMode = v;
        Q_EMIT ShowPopupsInDndModeChanged();
      }
    }

    Q_PROPERTY(bool showPopupsInDndMode READ showPopupsInDndMode WRITE setShowPopupsInDndMode NOTIFY ShowPopupsInDndModeChanged)
    Q_PROPERTY(bool isShowPopupsInDndModeImmutable READ isShowPopupsInDndModeImmutable CONSTANT)
    /**
      Get ShowPopupsInDndMode
    */
    bool showPopupsInDndMode() const
    {
      return mShowPopupsInDndMode;
    }

    /**
      Is ShowPopupsInDndMode Immutable
    */
    bool isShowPopupsInDndModeImmutable() const
    {
      return isImmutable( QStringLiteral( "ShowPopupsInDndMode" ) );
    }

    /**
      Get ShowPopupsInDndMode default value
    */
    bool defaultShowPopupsInDndModeValue() const
    {
        return defaultShowPopupsInDndModeValue_helper();
    }

    /**
      Set ShowInHistory
    */
    void setShowInHistory( bool v )
    {
      if (v != mShowInHistory && !isShowInHistoryImmutable()) {
        mShowInHistory = v;
        Q_EMIT ShowInHistoryChanged();
      }
    }

    Q_PROPERTY(bool showInHistory READ showInHistory WRITE setShowInHistory NOTIFY ShowInHistoryChanged)
    Q_PROPERTY(bool isShowInHistoryImmutable READ isShowInHistoryImmutable CONSTANT)
    /**
      Get ShowInHistory
    */
    bool showInHistory() const
    {
      return mShowInHistory;
    }

    /**
      Is ShowInHistory Immutable
    */
    bool isShowInHistoryImmutable() const
    {
      return isImmutable( QStringLiteral( "ShowInHistory" ) );
    }

    /**
      Get ShowInHistory default value
    */
    bool defaultShowInHistoryValue() const
    {
        return defaultShowInHistoryValue_helper();
    }

    /**
      Set ShowBadges
    */
    void setShowBadges( bool v )
    {
      if (v != mShowBadges && !isShowBadgesImmutable()) {
        mShowBadges = v;
        Q_EMIT ShowBadgesChanged();
      }
    }

    Q_PROPERTY(bool showBadges READ showBadges WRITE setShowBadges NOTIFY ShowBadgesChanged)
    Q_PROPERTY(bool isShowBadgesImmutable READ isShowBadgesImmutable CONSTANT)
    /**
      Get ShowBadges
    */
    bool showBadges() const
    {
      return mShowBadges;
    }

    /**
      Is ShowBadges Immutable
    */
    bool isShowBadgesImmutable() const
    {
      return isImmutable( QStringLiteral( "ShowBadges" ) );
    }

    /**
      Get ShowBadges default value
    */
    bool defaultShowBadgesValue() const
    {
        return defaultShowBadgesValue_helper();
    }


    enum {
      signalShowPopupsChanged = 0x1,
      signalShowPopupsInDndModeChanged = 0x2,
      signalShowInHistoryChanged = 0x4,
      signalShowBadgesChanged = 0x8
    };

  Q_SIGNALS:
    void ShowPopupsChanged();

    void ShowPopupsInDndModeChanged();

    void ShowInHistoryChanged();

    void ShowBadgesChanged();

  private:
    void itemChanged(quint64 flags);

  protected:
    QString mParamGroupEntry;
    QString mParamDesktopEntry;

    // $(DesktopEntry)
    bool mShowPopups;
    bool defaultShowPopupsValue_helper() const;
    bool mShowPopupsInDndMode;
    bool defaultShowPopupsInDndModeValue_helper() const;
    bool mShowInHistory;
    bool defaultShowInHistoryValue_helper() const;
    bool mShowBadges;
    bool defaultShowBadgesValue_helper() const;

  private:
};

}

#endif

