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

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

class Settings : public KConfigSkeleton
{
  public:

    static Settings *self();
    static void instance(const QString& cfgfilename);
    static void instance(KSharedConfig::Ptr config);
    ~Settings() override;

    /**
      Set FilterOnCategories
    */
    static
    void setFilterOnCategories( bool v )
    {
      if (!self()->isFilterOnCategoriesImmutable())
        self()->mFilterOnCategories = v;
    }

    /**
      Get FilterOnCategories
    */
    static
    bool filterOnCategories()
    {
      return self()->mFilterOnCategories;
    }

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

    /**
      Set FilterCategories
    */
    static
    void setFilterCategories( const QStringList & v )
    {
      if (!self()->isFilterCategoriesImmutable())
        self()->mFilterCategories = v;
    }

    /**
      Get FilterCategories
    */
    static
    QStringList filterCategories()
    {
      return self()->mFilterCategories;
    }

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

    /**
      Set EnableAlarm
    */
    static
    void setEnableAlarm( bool v )
    {
      if (!self()->isEnableAlarmImmutable())
        self()->mEnableAlarm = v;
    }

    /**
      Get EnableAlarm
    */
    static
    bool enableAlarm()
    {
      return self()->mEnableAlarm;
    }

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

    /**
      Set AlarmDays
    */
    static
    void setAlarmDays( int v )
    {
      if (!self()->isAlarmDaysImmutable())
        self()->mAlarmDays = v;
    }

    /**
      Get AlarmDays
    */
    static
    int alarmDays()
    {
      return self()->mAlarmDays;
    }

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

  protected:
    Settings(KSharedConfig::Ptr config);
    friend class SettingsHelper;


    // Filter
    bool mFilterOnCategories;
    QStringList mFilterCategories;

    // Alarm
    bool mEnableAlarm;
    int mAlarmDays;
};

#endif

