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

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

class SettingsBase : public KConfigSkeleton
{
  public:

    SettingsBase( KSharedConfig::Ptr config = KSharedConfig::openConfig() );
    ~SettingsBase() override;

    /**
      Set Account
    */
    void setAccount( const QString & v )
    {
      if (!isAccountImmutable())
        mAccount = v;
    }

    /**
      Get Account
    */
    QString account() const
    {
      return mAccount;
    }

    /**
      Is Account Immutable
    */
    bool isAccountImmutable() const
    {
      return isImmutable( QStringLiteral( "Account" ) );
    }

    /**
      Get Item object corresponding to Account()
    */
    ItemString *accountItem()
    {
      return mAccountItem;
    }

    /**
      Set AccountName
    */
    void setAccountName( const QString & v )
    {
      if (!isAccountNameImmutable())
        mAccountName = v;
    }

    /**
      Get AccountName
    */
    QString accountName() const
    {
      return mAccountName;
    }

    /**
      Is AccountName Immutable
    */
    bool isAccountNameImmutable() const
    {
      return isImmutable( QStringLiteral( "AccountName" ) );
    }

    /**
      Get Item object corresponding to AccountName()
    */
    ItemString *accountNameItem()
    {
      return mAccountNameItem;
    }

    /**
      Set AccountId
    */
    void setAccountId( int v )
    {
      if (!isAccountIdImmutable())
        mAccountId = v;
    }

    /**
      Get AccountId
    */
    int accountId() const
    {
      return mAccountId;
    }

    /**
      Is AccountId Immutable
    */
    bool isAccountIdImmutable() const
    {
      return isImmutable( QStringLiteral( "AccountId" ) );
    }

    /**
      Get Item object corresponding to AccountId()
    */
    ItemInt *accountIdItem()
    {
      return mAccountIdItem;
    }

    /**
      Set IDs of calendars in collection
    */
    void setCalendars( const QStringList & v )
    {
      if (!isCalendarsImmutable())
        mCalendars = v;
    }

    /**
      Get IDs of calendars in collection
    */
    QStringList calendars() const
    {
      return mCalendars;
    }

    /**
      Is IDs of calendars in collection Immutable
    */
    bool isCalendarsImmutable() const
    {
      return isImmutable( QStringLiteral( "Calendars" ) );
    }

    /**
      Get Item object corresponding to Calendars()
    */
    ItemStringList *calendarsItem()
    {
      return mCalendarsItem;
    }

    /**
      Set IDs of task lists in collection
    */
    void setTaskLists( const QStringList & v )
    {
      if (!isTaskListsImmutable())
        mTaskLists = v;
    }

    /**
      Get IDs of task lists in collection
    */
    QStringList taskLists() const
    {
      return mTaskLists;
    }

    /**
      Is IDs of task lists in collection Immutable
    */
    bool isTaskListsImmutable() const
    {
      return isImmutable( QStringLiteral( "TaskLists" ) );
    }

    /**
      Get Item object corresponding to TaskLists()
    */
    ItemStringList *taskListsItem()
    {
      return mTaskListsItem;
    }

    /**
      Set EventsSince
    */
    void setEventsSince( const QString & v )
    {
      if (!isEventsSinceImmutable())
        mEventsSince = v;
    }

    /**
      Get EventsSince
    */
    QString eventsSince() const
    {
      return mEventsSince;
    }

    /**
      Is EventsSince Immutable
    */
    bool isEventsSinceImmutable() const
    {
      return isImmutable( QStringLiteral( "EventsSince" ) );
    }

    /**
      Get Item object corresponding to EventsSince()
    */
    ItemString *eventsSinceItem()
    {
      return mEventsSinceItem;
    }

    /**
      Set EnableIntervalCheck
    */
    void setEnableIntervalCheck( bool v )
    {
      if (!isEnableIntervalCheckImmutable())
        mEnableIntervalCheck = v;
    }

    /**
      Get EnableIntervalCheck
    */
    bool enableIntervalCheck() const
    {
      return mEnableIntervalCheck;
    }

    /**
      Is EnableIntervalCheck Immutable
    */
    bool isEnableIntervalCheckImmutable() const
    {
      return isImmutable( QStringLiteral( "EnableIntervalCheck" ) );
    }

    /**
      Get Item object corresponding to EnableIntervalCheck()
    */
    ItemBool *enableIntervalCheckItem()
    {
      return mEnableIntervalCheckItem;
    }

    /**
      Set IntervalCheckTime
    */
    void setIntervalCheckTime( int v )
    {
      if (!isIntervalCheckTimeImmutable())
        mIntervalCheckTime = v;
    }

    /**
      Get IntervalCheckTime
    */
    int intervalCheckTime() const
    {
      return mIntervalCheckTime;
    }

    /**
      Is IntervalCheckTime Immutable
    */
    bool isIntervalCheckTimeImmutable() const
    {
      return isImmutable( QStringLiteral( "IntervalCheckTime" ) );
    }

    /**
      Get Item object corresponding to IntervalCheckTime()
    */
    ItemInt *intervalCheckTimeItem()
    {
      return mIntervalCheckTimeItem;
    }

  protected:

    // General
    QString mAccount;
    QString mAccountName;
    int mAccountId;
    QStringList mCalendars;
    QStringList mTaskLists;
    QString mEventsSince;
    bool mEnableIntervalCheck;
    int mIntervalCheckTime;

  private:
    ItemString *mAccountItem;
    ItemString *mAccountNameItem;
    ItemInt *mAccountIdItem;
    ItemStringList *mCalendarsItem;
    ItemStringList *mTaskListsItem;
    ItemString *mEventsSinceItem;
    ItemBool *mEnableIntervalCheckItem;
    ItemInt *mIntervalCheckTimeItem;
};

#endif

