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

#include "akonadi-calendar_export.h"

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

namespace Akonadi {

class AKONADI_CALENDAR_EXPORT CalendarSettings : public KConfigSkeleton
{
  Q_OBJECT
  public:

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

    /**
      Set FreeBusyPublishAuto
    */
    static
    void setFreeBusyPublishAuto( bool v )
    {
      if (v != self()->mFreeBusyPublishAuto && !self()->isFreeBusyPublishAutoImmutable()) {
        self()->mFreeBusyPublishAuto = v;
        Q_EMIT self()->FreeBusyPublishAutoChanged();
      }
    }

    Q_PROPERTY(bool freeBusyPublishAuto READ freeBusyPublishAuto WRITE setFreeBusyPublishAuto NOTIFY FreeBusyPublishAutoChanged)
    Q_PROPERTY(bool isFreeBusyPublishAutoImmutable READ isFreeBusyPublishAutoImmutable CONSTANT)
    /**
      Get FreeBusyPublishAuto
    */
    static
    bool freeBusyPublishAuto()
    {
      return self()->mFreeBusyPublishAuto;
    }

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

    /**
      Get Item object corresponding to FreeBusyPublishAuto()
    */
    KConfigCompilerSignallingItem *freeBusyPublishAutoItem()
    {
      return mFreeBusyPublishAutoItem;
    }

    /**
      Set FreeBusyPublishDelay
    */
    static
    void setFreeBusyPublishDelay( int v )
    {
      if (v != self()->mFreeBusyPublishDelay && !self()->isFreeBusyPublishDelayImmutable()) {
        self()->mFreeBusyPublishDelay = v;
        Q_EMIT self()->FreeBusyPublishDelayChanged();
      }
    }

    Q_PROPERTY(int freeBusyPublishDelay READ freeBusyPublishDelay WRITE setFreeBusyPublishDelay NOTIFY FreeBusyPublishDelayChanged)
    Q_PROPERTY(bool isFreeBusyPublishDelayImmutable READ isFreeBusyPublishDelayImmutable CONSTANT)
    /**
      Get FreeBusyPublishDelay
    */
    static
    int freeBusyPublishDelay()
    {
      return self()->mFreeBusyPublishDelay;
    }

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

    /**
      Get Item object corresponding to FreeBusyPublishDelay()
    */
    KConfigCompilerSignallingItem *freeBusyPublishDelayItem()
    {
      return mFreeBusyPublishDelayItem;
    }

    /**
      Set FreeBusyPublishDays
    */
    static
    void setFreeBusyPublishDays( int v )
    {
      if (v != self()->mFreeBusyPublishDays && !self()->isFreeBusyPublishDaysImmutable()) {
        self()->mFreeBusyPublishDays = v;
        Q_EMIT self()->FreeBusyPublishDaysChanged();
      }
    }

    Q_PROPERTY(int freeBusyPublishDays READ freeBusyPublishDays WRITE setFreeBusyPublishDays NOTIFY FreeBusyPublishDaysChanged)
    Q_PROPERTY(bool isFreeBusyPublishDaysImmutable READ isFreeBusyPublishDaysImmutable CONSTANT)
    /**
      Get FreeBusyPublishDays
    */
    static
    int freeBusyPublishDays()
    {
      return self()->mFreeBusyPublishDays;
    }

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

    /**
      Get Item object corresponding to FreeBusyPublishDays()
    */
    KConfigCompilerSignallingItem *freeBusyPublishDaysItem()
    {
      return mFreeBusyPublishDaysItem;
    }

    /**
      Set Free/Busy Publish URL
    */
    static
    void setFreeBusyPublishUrl( const QString & v )
    {
      if (v != self()->mFreeBusyPublishUrl && !self()->isFreeBusyPublishUrlImmutable()) {
        self()->mFreeBusyPublishUrl = v;
        Q_EMIT self()->FreeBusyPublishUrlChanged();
      }
    }

    Q_PROPERTY(QString freeBusyPublishUrl READ freeBusyPublishUrl WRITE setFreeBusyPublishUrl NOTIFY FreeBusyPublishUrlChanged)
    Q_PROPERTY(bool isFreeBusyPublishUrlImmutable READ isFreeBusyPublishUrlImmutable CONSTANT)
    /**
      Get Free/Busy Publish URL
    */
    static
    QString freeBusyPublishUrl()
    {
      return self()->mFreeBusyPublishUrl;
    }

    /**
      Is Free/Busy Publish URL Immutable
    */
    static
    bool isFreeBusyPublishUrlImmutable()
    {
      return self()->isImmutable( QStringLiteral( "FreeBusyPublishUrl" ) );
    }

    /**
      Get Item object corresponding to FreeBusyPublishUrl()
    */
    KConfigCompilerSignallingItem *freeBusyPublishUrlItem()
    {
      return mFreeBusyPublishUrlItem;
    }

    /**
      Set Free/Busy Publish Username
    */
    static
    void setFreeBusyPublishUser( const QString & v )
    {
      if (v != self()->mFreeBusyPublishUser && !self()->isFreeBusyPublishUserImmutable()) {
        self()->mFreeBusyPublishUser = v;
        Q_EMIT self()->FreeBusyPublishUserChanged();
      }
    }

    Q_PROPERTY(QString freeBusyPublishUser READ freeBusyPublishUser WRITE setFreeBusyPublishUser NOTIFY FreeBusyPublishUserChanged)
    Q_PROPERTY(bool isFreeBusyPublishUserImmutable READ isFreeBusyPublishUserImmutable CONSTANT)
    /**
      Get Free/Busy Publish Username
    */
    static
    QString freeBusyPublishUser()
    {
      return self()->mFreeBusyPublishUser;
    }

    /**
      Is Free/Busy Publish Username Immutable
    */
    static
    bool isFreeBusyPublishUserImmutable()
    {
      return self()->isImmutable( QStringLiteral( "FreeBusyPublishUser" ) );
    }

    /**
      Get Item object corresponding to FreeBusyPublishUser()
    */
    KConfigCompilerSignallingItem *freeBusyPublishUserItem()
    {
      return mFreeBusyPublishUserItem;
    }

    /**
      Set Free/Busy Publish Password
    */
    static
    void setFreeBusyPublishPassword( const QString & v )
    {
      if (v != self()->mFreeBusyPublishPassword && !self()->isFreeBusyPublishPasswordImmutable()) {
        self()->mFreeBusyPublishPassword = v;
        Q_EMIT self()->FreeBusyPublishPasswordChanged();
      }
    }

    Q_PROPERTY(QString freeBusyPublishPassword READ freeBusyPublishPassword WRITE setFreeBusyPublishPassword NOTIFY FreeBusyPublishPasswordChanged)
    Q_PROPERTY(bool isFreeBusyPublishPasswordImmutable READ isFreeBusyPublishPasswordImmutable CONSTANT)
    /**
      Get Free/Busy Publish Password
    */
    static
    QString freeBusyPublishPassword()
    {
      return self()->mFreeBusyPublishPassword;
    }

    /**
      Is Free/Busy Publish Password Immutable
    */
    static
    bool isFreeBusyPublishPasswordImmutable()
    {
      return self()->isImmutable( QStringLiteral( "FreeBusyPublishPassword" ) );
    }

    /**
      Get Item object corresponding to FreeBusyPublishPassword()
    */
    KConfigCompilerSignallingItem *freeBusyPublishPasswordItem()
    {
      return mFreeBusyPublishPasswordItem;
    }

    /**
      Set FreeBusyPublishSavePassword
    */
    static
    void setFreeBusyPublishSavePassword( bool v )
    {
      if (v != self()->mFreeBusyPublishSavePassword && !self()->isFreeBusyPublishSavePasswordImmutable()) {
        self()->mFreeBusyPublishSavePassword = v;
        Q_EMIT self()->FreeBusyPublishSavePasswordChanged();
      }
    }

    Q_PROPERTY(bool freeBusyPublishSavePassword READ freeBusyPublishSavePassword WRITE setFreeBusyPublishSavePassword NOTIFY FreeBusyPublishSavePasswordChanged)
    Q_PROPERTY(bool isFreeBusyPublishSavePasswordImmutable READ isFreeBusyPublishSavePasswordImmutable CONSTANT)
    /**
      Get FreeBusyPublishSavePassword
    */
    static
    bool freeBusyPublishSavePassword()
    {
      return self()->mFreeBusyPublishSavePassword;
    }

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

    /**
      Get Item object corresponding to FreeBusyPublishSavePassword()
    */
    KConfigCompilerSignallingItem *freeBusyPublishSavePasswordItem()
    {
      return mFreeBusyPublishSavePasswordItem;
    }

    /**
      Set Enable Automatic Free/Busy Retrieval
    */
    static
    void setFreeBusyRetrieveAuto( bool v )
    {
      if (v != self()->mFreeBusyRetrieveAuto && !self()->isFreeBusyRetrieveAutoImmutable()) {
        self()->mFreeBusyRetrieveAuto = v;
        Q_EMIT self()->FreeBusyRetrieveAutoChanged();
      }
    }

    Q_PROPERTY(bool freeBusyRetrieveAuto READ freeBusyRetrieveAuto WRITE setFreeBusyRetrieveAuto NOTIFY FreeBusyRetrieveAutoChanged)
    Q_PROPERTY(bool isFreeBusyRetrieveAutoImmutable READ isFreeBusyRetrieveAutoImmutable CONSTANT)
    /**
      Get Enable Automatic Free/Busy Retrieval
    */
    static
    bool freeBusyRetrieveAuto()
    {
      return self()->mFreeBusyRetrieveAuto;
    }

    /**
      Is Enable Automatic Free/Busy Retrieval Immutable
    */
    static
    bool isFreeBusyRetrieveAutoImmutable()
    {
      return self()->isImmutable( QStringLiteral( "FreeBusyRetrieveAuto" ) );
    }

    /**
      Get Item object corresponding to FreeBusyRetrieveAuto()
    */
    KConfigCompilerSignallingItem *freeBusyRetrieveAutoItem()
    {
      return mFreeBusyRetrieveAutoItem;
    }

    /**
      Set Use full email address for retrieval
    */
    static
    void setFreeBusyFullDomainRetrieval( bool v )
    {
      if (v != self()->mFreeBusyFullDomainRetrieval && !self()->isFreeBusyFullDomainRetrievalImmutable()) {
        self()->mFreeBusyFullDomainRetrieval = v;
        Q_EMIT self()->FreeBusyFullDomainRetrievalChanged();
      }
    }

    Q_PROPERTY(bool freeBusyFullDomainRetrieval READ freeBusyFullDomainRetrieval WRITE setFreeBusyFullDomainRetrieval NOTIFY FreeBusyFullDomainRetrievalChanged)
    Q_PROPERTY(bool isFreeBusyFullDomainRetrievalImmutable READ isFreeBusyFullDomainRetrievalImmutable CONSTANT)
    /**
      Get Use full email address for retrieval
    */
    static
    bool freeBusyFullDomainRetrieval()
    {
      return self()->mFreeBusyFullDomainRetrieval;
    }

    /**
      Is Use full email address for retrieval Immutable
    */
    static
    bool isFreeBusyFullDomainRetrievalImmutable()
    {
      return self()->isImmutable( QStringLiteral( "FreeBusyFullDomainRetrieval" ) );
    }

    /**
      Get Item object corresponding to FreeBusyFullDomainRetrieval()
    */
    KConfigCompilerSignallingItem *freeBusyFullDomainRetrievalItem()
    {
      return mFreeBusyFullDomainRetrievalItem;
    }

    /**
      Set Free/Busy Retrieval URL
    */
    static
    void setFreeBusyRetrieveUrl( const QString & v )
    {
      if (v != self()->mFreeBusyRetrieveUrl && !self()->isFreeBusyRetrieveUrlImmutable()) {
        self()->mFreeBusyRetrieveUrl = v;
        Q_EMIT self()->FreeBusyRetrieveUrlChanged();
      }
    }

    Q_PROPERTY(QString freeBusyRetrieveUrl READ freeBusyRetrieveUrl WRITE setFreeBusyRetrieveUrl NOTIFY FreeBusyRetrieveUrlChanged)
    Q_PROPERTY(bool isFreeBusyRetrieveUrlImmutable READ isFreeBusyRetrieveUrlImmutable CONSTANT)
    /**
      Get Free/Busy Retrieval URL
    */
    static
    QString freeBusyRetrieveUrl()
    {
      return self()->mFreeBusyRetrieveUrl;
    }

    /**
      Is Free/Busy Retrieval URL Immutable
    */
    static
    bool isFreeBusyRetrieveUrlImmutable()
    {
      return self()->isImmutable( QStringLiteral( "FreeBusyRetrieveUrl" ) );
    }

    /**
      Get Item object corresponding to FreeBusyRetrieveUrl()
    */
    KConfigCompilerSignallingItem *freeBusyRetrieveUrlItem()
    {
      return mFreeBusyRetrieveUrlItem;
    }

    /**
      Set Free/Busy Retrieval Username
    */
    static
    void setFreeBusyRetrieveUser( const QString & v )
    {
      if (v != self()->mFreeBusyRetrieveUser && !self()->isFreeBusyRetrieveUserImmutable()) {
        self()->mFreeBusyRetrieveUser = v;
        Q_EMIT self()->FreeBusyRetrieveUserChanged();
      }
    }

    Q_PROPERTY(QString freeBusyRetrieveUser READ freeBusyRetrieveUser WRITE setFreeBusyRetrieveUser NOTIFY FreeBusyRetrieveUserChanged)
    Q_PROPERTY(bool isFreeBusyRetrieveUserImmutable READ isFreeBusyRetrieveUserImmutable CONSTANT)
    /**
      Get Free/Busy Retrieval Username
    */
    static
    QString freeBusyRetrieveUser()
    {
      return self()->mFreeBusyRetrieveUser;
    }

    /**
      Is Free/Busy Retrieval Username Immutable
    */
    static
    bool isFreeBusyRetrieveUserImmutable()
    {
      return self()->isImmutable( QStringLiteral( "FreeBusyRetrieveUser" ) );
    }

    /**
      Get Item object corresponding to FreeBusyRetrieveUser()
    */
    KConfigCompilerSignallingItem *freeBusyRetrieveUserItem()
    {
      return mFreeBusyRetrieveUserItem;
    }

    /**
      Set Free/Busy Retrieval Password
    */
    static
    void setFreeBusyRetrievePassword( const QString & v )
    {
      if (v != self()->mFreeBusyRetrievePassword && !self()->isFreeBusyRetrievePasswordImmutable()) {
        self()->mFreeBusyRetrievePassword = v;
        Q_EMIT self()->FreeBusyRetrievePasswordChanged();
      }
    }

    Q_PROPERTY(QString freeBusyRetrievePassword READ freeBusyRetrievePassword WRITE setFreeBusyRetrievePassword NOTIFY FreeBusyRetrievePasswordChanged)
    Q_PROPERTY(bool isFreeBusyRetrievePasswordImmutable READ isFreeBusyRetrievePasswordImmutable CONSTANT)
    /**
      Get Free/Busy Retrieval Password
    */
    static
    QString freeBusyRetrievePassword()
    {
      return self()->mFreeBusyRetrievePassword;
    }

    /**
      Is Free/Busy Retrieval Password Immutable
    */
    static
    bool isFreeBusyRetrievePasswordImmutable()
    {
      return self()->isImmutable( QStringLiteral( "FreeBusyRetrievePassword" ) );
    }

    /**
      Get Item object corresponding to FreeBusyRetrievePassword()
    */
    KConfigCompilerSignallingItem *freeBusyRetrievePasswordItem()
    {
      return mFreeBusyRetrievePasswordItem;
    }

    /**
      Set FreeBusyRetrieveSavePassword
    */
    static
    void setFreeBusyRetrieveSavePassword( bool v )
    {
      if (v != self()->mFreeBusyRetrieveSavePassword && !self()->isFreeBusyRetrieveSavePasswordImmutable()) {
        self()->mFreeBusyRetrieveSavePassword = v;
        Q_EMIT self()->FreeBusyRetrieveSavePasswordChanged();
      }
    }

    Q_PROPERTY(bool freeBusyRetrieveSavePassword READ freeBusyRetrieveSavePassword WRITE setFreeBusyRetrieveSavePassword NOTIFY FreeBusyRetrieveSavePasswordChanged)
    Q_PROPERTY(bool isFreeBusyRetrieveSavePasswordImmutable READ isFreeBusyRetrieveSavePasswordImmutable CONSTANT)
    /**
      Get FreeBusyRetrieveSavePassword
    */
    static
    bool freeBusyRetrieveSavePassword()
    {
      return self()->mFreeBusyRetrieveSavePassword;
    }

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

    /**
      Get Item object corresponding to FreeBusyRetrieveSavePassword()
    */
    KConfigCompilerSignallingItem *freeBusyRetrieveSavePasswordItem()
    {
      return mFreeBusyRetrieveSavePasswordItem;
    }

    /**
      Set Send copy to owner when mailing events
    */
    static
    void setBcc( bool v )
    {
      if (v != self()->mBcc && !self()->isBccImmutable()) {
        self()->mBcc = v;
        Q_EMIT self()->BccChanged();
      }
    }

    Q_PROPERTY(bool bcc READ bcc WRITE setBcc NOTIFY BccChanged)
    Q_PROPERTY(bool isBccImmutable READ isBccImmutable CONSTANT)
    /**
      Get Send copy to owner when mailing events
    */
    static
    bool bcc()
    {
      return self()->mBcc;
    }

    /**
      Is Send copy to owner when mailing events Immutable
    */
    static
    bool isBccImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Bcc" ) );
    }

    /**
      Get Item object corresponding to Bcc()
    */
    KConfigCompilerSignallingItem *bccItem()
    {
      return mBccItem;
    }

    /**
      Set Hide declined invitations
    */
    static
    void setHideDeclinedInvitations( bool v )
    {
      if (v != self()->mHideDeclinedInvitations && !self()->isHideDeclinedInvitationsImmutable()) {
        self()->mHideDeclinedInvitations = v;
        Q_EMIT self()->HideDeclinedInvitationsChanged();
      }
    }

    Q_PROPERTY(bool hideDeclinedInvitations READ hideDeclinedInvitations WRITE setHideDeclinedInvitations NOTIFY HideDeclinedInvitationsChanged)
    Q_PROPERTY(bool isHideDeclinedInvitationsImmutable READ isHideDeclinedInvitationsImmutable CONSTANT)
    /**
      Get Hide declined invitations
    */
    static
    bool hideDeclinedInvitations()
    {
      return self()->mHideDeclinedInvitations;
    }

    /**
      Is Hide declined invitations Immutable
    */
    static
    bool isHideDeclinedInvitationsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "HideDeclinedInvitations" ) );
    }

    /**
      Get Item object corresponding to HideDeclinedInvitations()
    */
    KConfigCompilerSignallingItem *hideDeclinedInvitationsItem()
    {
      return mHideDeclinedInvitationsItem;
    }

    /**
      Set Only show reminders for events I organize or attend
    */
    static
    void setOnlyShowRemindersForMyEvents( bool v )
    {
      if (v != self()->mOnlyShowRemindersForMyEvents && !self()->isOnlyShowRemindersForMyEventsImmutable()) {
        self()->mOnlyShowRemindersForMyEvents = v;
        Q_EMIT self()->OnlyShowRemindersForMyEventsChanged();
      }
    }

    Q_PROPERTY(bool onlyShowRemindersForMyEvents READ onlyShowRemindersForMyEvents WRITE setOnlyShowRemindersForMyEvents NOTIFY OnlyShowRemindersForMyEventsChanged)
    Q_PROPERTY(bool isOnlyShowRemindersForMyEventsImmutable READ isOnlyShowRemindersForMyEventsImmutable CONSTANT)
    /**
      Get Only show reminders for events I organize or attend
    */
    static
    bool onlyShowRemindersForMyEvents()
    {
      return self()->mOnlyShowRemindersForMyEvents;
    }

    /**
      Is Only show reminders for events I organize or attend Immutable
    */
    static
    bool isOnlyShowRemindersForMyEventsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "OnlyShowRemindersForMyEvents" ) );
    }

    /**
      Get Item object corresponding to OnlyShowRemindersForMyEvents()
    */
    KConfigCompilerSignallingItem *onlyShowRemindersForMyEventsItem()
    {
      return mOnlyShowRemindersForMyEventsItem;
    }

    /**
      Set Send Outlook-like pseudo counter proposals
    */
    static
    void setOutlookCompatCounterProposals( bool v )
    {
      if (v != self()->mOutlookCompatCounterProposals && !self()->isOutlookCompatCounterProposalsImmutable()) {
        self()->mOutlookCompatCounterProposals = v;
        Q_EMIT self()->OutlookCompatCounterProposalsChanged();
      }
    }

    Q_PROPERTY(bool outlookCompatCounterProposals READ outlookCompatCounterProposals WRITE setOutlookCompatCounterProposals NOTIFY OutlookCompatCounterProposalsChanged)
    Q_PROPERTY(bool isOutlookCompatCounterProposalsImmutable READ isOutlookCompatCounterProposalsImmutable CONSTANT)
    /**
      Get Send Outlook-like pseudo counter proposals
    */
    static
    bool outlookCompatCounterProposals()
    {
      return self()->mOutlookCompatCounterProposals;
    }

    /**
      Is Send Outlook-like pseudo counter proposals Immutable
    */
    static
    bool isOutlookCompatCounterProposalsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "OutlookCompatCounterProposals" ) );
    }

    /**
      Get Item object corresponding to OutlookCompatCounterProposals()
    */
    KConfigCompilerSignallingItem *outlookCompatCounterProposalsItem()
    {
      return mOutlookCompatCounterProposalsItem;
    }

    /**
      Set Check whether hostname and retrieval email address match
    */
    static
    void setFreeBusyCheckHostname( bool v )
    {
      if (v != self()->mFreeBusyCheckHostname && !self()->isFreeBusyCheckHostnameImmutable()) {
        self()->mFreeBusyCheckHostname = v;
        Q_EMIT self()->FreeBusyCheckHostnameChanged();
      }
    }

    Q_PROPERTY(bool freeBusyCheckHostname READ freeBusyCheckHostname WRITE setFreeBusyCheckHostname NOTIFY FreeBusyCheckHostnameChanged)
    Q_PROPERTY(bool isFreeBusyCheckHostnameImmutable READ isFreeBusyCheckHostnameImmutable CONSTANT)
    /**
      Get Check whether hostname and retrieval email address match
    */
    static
    bool freeBusyCheckHostname()
    {
      return self()->mFreeBusyCheckHostname;
    }

    /**
      Is Check whether hostname and retrieval email address match Immutable
    */
    static
    bool isFreeBusyCheckHostnameImmutable()
    {
      return self()->isImmutable( QStringLiteral( "FreeBusyCheckHostname" ) );
    }

    /**
      Get Item object corresponding to FreeBusyCheckHostname()
    */
    KConfigCompilerSignallingItem *freeBusyCheckHostnameItem()
    {
      return mFreeBusyCheckHostnameItem;
    }


    enum {
      signalFreeBusyPublishAutoChanged = 1,
      signalFreeBusyPublishDelayChanged = 2,
      signalFreeBusyPublishDaysChanged = 3,
      signalFreeBusyPublishUrlChanged = 4,
      signalFreeBusyPublishUserChanged = 5,
      signalFreeBusyPublishPasswordChanged = 6,
      signalFreeBusyPublishSavePasswordChanged = 7,
      signalFreeBusyRetrieveAutoChanged = 8,
      signalFreeBusyFullDomainRetrievalChanged = 9,
      signalFreeBusyRetrieveUrlChanged = 10,
      signalFreeBusyRetrieveUserChanged = 11,
      signalFreeBusyRetrievePasswordChanged = 12,
      signalFreeBusyRetrieveSavePasswordChanged = 13,
      signalBccChanged = 14,
      signalHideDeclinedInvitationsChanged = 15,
      signalOnlyShowRemindersForMyEventsChanged = 16,
      signalOutlookCompatCounterProposalsChanged = 17,
      signalFreeBusyCheckHostnameChanged = 18
    };

  Q_SIGNALS:
    void FreeBusyPublishAutoChanged();

    void FreeBusyPublishDelayChanged();

    void FreeBusyPublishDaysChanged();

    void FreeBusyPublishUrlChanged();

    void FreeBusyPublishUserChanged();

    void FreeBusyPublishPasswordChanged();

    void FreeBusyPublishSavePasswordChanged();

    void FreeBusyRetrieveAutoChanged();

    void FreeBusyFullDomainRetrievalChanged();

    void FreeBusyRetrieveUrlChanged();

    void FreeBusyRetrieveUserChanged();

    void FreeBusyRetrievePasswordChanged();

    void FreeBusyRetrieveSavePasswordChanged();

    void BccChanged();

    void HideDeclinedInvitationsChanged();

    void OnlyShowRemindersForMyEventsChanged();

    void OutlookCompatCounterProposalsChanged();

    void FreeBusyCheckHostnameChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:
    CalendarSettings();
    friend class CalendarSettingsHelper;


    // FreeBusy Publish
    bool mFreeBusyPublishAuto;
    int mFreeBusyPublishDelay;
    int mFreeBusyPublishDays;
    QString mFreeBusyPublishUrl;
    QString mFreeBusyPublishUser;
    QString mFreeBusyPublishPassword;
    bool mFreeBusyPublishSavePassword;

    // FreeBusy Retrieve
    bool mFreeBusyRetrieveAuto;
    bool mFreeBusyFullDomainRetrieval;
    QString mFreeBusyRetrieveUrl;
    QString mFreeBusyRetrieveUser;
    QString mFreeBusyRetrievePassword;
    bool mFreeBusyRetrieveSavePassword;

    // Group Scheduling
    bool mBcc;
    bool mHideDeclinedInvitations;

    // Reminders
    bool mOnlyShowRemindersForMyEvents;

    // Hidden Options
    bool mOutlookCompatCounterProposals;
    bool mFreeBusyCheckHostname;

  private:
    KConfigCompilerSignallingItem *mFreeBusyPublishAutoItem;
    KConfigCompilerSignallingItem *mFreeBusyPublishDelayItem;
    KConfigCompilerSignallingItem *mFreeBusyPublishDaysItem;
    KConfigCompilerSignallingItem *mFreeBusyPublishUrlItem;
    KConfigCompilerSignallingItem *mFreeBusyPublishUserItem;
    KConfigCompilerSignallingItem *mFreeBusyPublishPasswordItem;
    KConfigCompilerSignallingItem *mFreeBusyPublishSavePasswordItem;
    KConfigCompilerSignallingItem *mFreeBusyRetrieveAutoItem;
    KConfigCompilerSignallingItem *mFreeBusyFullDomainRetrievalItem;
    KConfigCompilerSignallingItem *mFreeBusyRetrieveUrlItem;
    KConfigCompilerSignallingItem *mFreeBusyRetrieveUserItem;
    KConfigCompilerSignallingItem *mFreeBusyRetrievePasswordItem;
    KConfigCompilerSignallingItem *mFreeBusyRetrieveSavePasswordItem;
    KConfigCompilerSignallingItem *mBccItem;
    KConfigCompilerSignallingItem *mHideDeclinedInvitationsItem;
    KConfigCompilerSignallingItem *mOnlyShowRemindersForMyEventsItem;
    KConfigCompilerSignallingItem *mOutlookCompatCounterProposalsItem;
    KConfigCompilerSignallingItem *mFreeBusyCheckHostnameItem;
};

}

#endif

