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

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

#include <kcalutils_export.h>

namespace KCalUtils {

class KCALUTILS_EXPORT HTMLExportSettings : public KConfigSkeleton
{
  public:

    HTMLExportSettings( const QString & application );
    ~HTMLExportSettings() override;

    /**
      Set Full name of the calendar owner
    */
    void setName( const QString & v )
    {
      if (!isNameImmutable())
        mName = v;
    }

    /**
      Get Full name of the calendar owner
    */
    QString name() const
    {
      return mName;
    }

    /**
      Is Full name of the calendar owner Immutable
    */
    bool isNameImmutable() const
    {
      return isImmutable( QStringLiteral( "Name" ) );
    }

    /**
      Get Item object corresponding to Name()
    */
    ItemString *nameItem()
    {
      return mNameItem;
    }

    /**
      Set Email of the calendar owner
    */
    void setEMail( const QString & v )
    {
      if (!isEMailImmutable())
        mEMail = v;
    }

    /**
      Get Email of the calendar owner
    */
    QString eMail() const
    {
      return mEMail;
    }

    /**
      Is Email of the calendar owner Immutable
    */
    bool isEMailImmutable() const
    {
      return isImmutable( QStringLiteral( "EMail" ) );
    }

    /**
      Get Item object corresponding to EMail()
    */
    ItemString *eMailItem()
    {
      return mEMailItem;
    }

    /**
      Set Creator application
    */
    void setCreditName( const QString & v )
    {
      if (!isCreditNameImmutable())
        mCreditName = v;
    }

    /**
      Get Creator application
    */
    QString creditName() const
    {
      return mCreditName;
    }

    /**
      Is Creator application Immutable
    */
    bool isCreditNameImmutable() const
    {
      return isImmutable( QStringLiteral( "CreditName" ) );
    }

    /**
      Get Item object corresponding to CreditName()
    */
    ItemString *creditNameItem()
    {
      return mCreditNameItem;
    }

    /**
      Set Creator URL
    */
    void setCreditURL( const QString & v )
    {
      if (!isCreditURLImmutable())
        mCreditURL = v;
    }

    /**
      Get Creator URL
    */
    QString creditURL() const
    {
      return mCreditURL;
    }

    /**
      Is Creator URL Immutable
    */
    bool isCreditURLImmutable() const
    {
      return isImmutable( QStringLiteral( "CreditURL" ) );
    }

    /**
      Get Item object corresponding to CreditURL()
    */
    ItemString *creditURLItem()
    {
      return mCreditURLItem;
    }

    /**
      Set Page Title
    */
    void setPageTitle( const QString & v )
    {
      if (!isPageTitleImmutable())
        mPageTitle = v;
    }

    /**
      Get Page Title
    */
    QString pageTitle() const
    {
      return mPageTitle;
    }

    /**
      Is Page Title Immutable
    */
    bool isPageTitleImmutable() const
    {
      return isImmutable( QStringLiteral( "PageTitle" ) );
    }

    /**
      Get Item object corresponding to PageTitle()
    */
    ItemString *pageTitleItem()
    {
      return mPageTitleItem;
    }

    /**
      Set Date start
    */
    void setDateStart( const QDateTime & v )
    {
      if (!isDateStartImmutable())
        mDateStart = v;
    }

    /**
      Get Date start
    */
    QDateTime dateStart() const
    {
      return mDateStart;
    }

    /**
      Is Date start Immutable
    */
    bool isDateStartImmutable() const
    {
      return isImmutable( QStringLiteral( "DateStart" ) );
    }

    /**
      Get Item object corresponding to DateStart()
    */
    ItemDateTime *dateStartItem()
    {
      return mDateStartItem;
    }

    /**
      Set Date end
    */
    void setDateEnd( const QDateTime & v )
    {
      if (!isDateEndImmutable())
        mDateEnd = v;
    }

    /**
      Get Date end
    */
    QDateTime dateEnd() const
    {
      return mDateEnd;
    }

    /**
      Is Date end Immutable
    */
    bool isDateEndImmutable() const
    {
      return isImmutable( QStringLiteral( "DateEnd" ) );
    }

    /**
      Get Item object corresponding to DateEnd()
    */
    ItemDateTime *dateEndItem()
    {
      return mDateEndItem;
    }

    /**
      Set Output filename
    */
    void setOutputFile( const QString & v )
    {
      if (!isOutputFileImmutable())
        mOutputFile = v;
    }

    /**
      Get Output filename
    */
    QString outputFile() const
    {
      return mOutputFile;
    }

    /**
      Is Output filename Immutable
    */
    bool isOutputFileImmutable() const
    {
      return isImmutable( QStringLiteral( "OutputFile" ) );
    }

    /**
      Get Item object corresponding to OutputFile()
    */
    ItemPath *outputFileItem()
    {
      return mOutputFileItem;
    }

    /**
      Set Style sheet
    */
    void setStyleSheet( const QString & v )
    {
      if (!isStyleSheetImmutable())
        mStyleSheet = v;
    }

    /**
      Get Style sheet
    */
    QString styleSheet() const
    {
      return mStyleSheet;
    }

    /**
      Is Style sheet Immutable
    */
    bool isStyleSheetImmutable() const
    {
      return isImmutable( QStringLiteral( "StyleSheet" ) );
    }

    /**
      Get Item object corresponding to StyleSheet()
    */
    ItemString *styleSheetItem()
    {
      return mStyleSheetItem;
    }

    /**
      Set Exclude private incidences from the export
    */
    void setExcludePrivate( bool v )
    {
      if (!isExcludePrivateImmutable())
        mExcludePrivate = v;
    }

    /**
      Get Exclude private incidences from the export
    */
    bool excludePrivate() const
    {
      return mExcludePrivate;
    }

    /**
      Is Exclude private incidences from the export Immutable
    */
    bool isExcludePrivateImmutable() const
    {
      return isImmutable( QStringLiteral( "ExcludePrivate" ) );
    }

    /**
      Get Item object corresponding to ExcludePrivate()
    */
    ItemBool *excludePrivateItem()
    {
      return mExcludePrivateItem;
    }

    /**
      Set Exclude confidential incidences from the export
    */
    void setExcludeConfidential( bool v )
    {
      if (!isExcludeConfidentialImmutable())
        mExcludeConfidential = v;
    }

    /**
      Get Exclude confidential incidences from the export
    */
    bool excludeConfidential() const
    {
      return mExcludeConfidential;
    }

    /**
      Is Exclude confidential incidences from the export Immutable
    */
    bool isExcludeConfidentialImmutable() const
    {
      return isImmutable( QStringLiteral( "ExcludeConfidential" ) );
    }

    /**
      Get Item object corresponding to ExcludeConfidential()
    */
    ItemBool *excludeConfidentialItem()
    {
      return mExcludeConfidentialItem;
    }

    /**
      Set Export events as list
    */
    void setEventView( bool v )
    {
      if (!isEventViewImmutable())
        mEventView = v;
    }

    /**
      Get Export events as list
    */
    bool eventView() const
    {
      return mEventView;
    }

    /**
      Is Export events as list Immutable
    */
    bool isEventViewImmutable() const
    {
      return isImmutable( QStringLiteral( "EventView" ) );
    }

    /**
      Get Item object corresponding to EventView()
    */
    ItemBool *eventViewItem()
    {
      return mEventViewItem;
    }

    /**
      Set Export in month view
    */
    void setMonthView( bool v )
    {
      if (!isMonthViewImmutable())
        mMonthView = v;
    }

    /**
      Get Export in month view
    */
    bool monthView() const
    {
      return mMonthView;
    }

    /**
      Is Export in month view Immutable
    */
    bool isMonthViewImmutable() const
    {
      return isImmutable( QStringLiteral( "MonthView" ) );
    }

    /**
      Get Item object corresponding to MonthView()
    */
    ItemBool *monthViewItem()
    {
      return mMonthViewItem;
    }

    /**
      Set Export in week view
    */
    void setWeekView( bool v )
    {
      if (!isWeekViewImmutable())
        mWeekView = v;
    }

    /**
      Get Export in week view
    */
    bool weekView() const
    {
      return mWeekView;
    }

    /**
      Is Export in week view Immutable
    */
    bool isWeekViewImmutable() const
    {
      return isImmutable( QStringLiteral( "WeekView" ) );
    }

    /**
      Get Item object corresponding to WeekView()
    */
    ItemBool *weekViewItem()
    {
      return mWeekViewItem;
    }

    /**
      Set Title of the calendar
    */
    void setEventTitle( const QString & v )
    {
      if (!isEventTitleImmutable())
        mEventTitle = v;
    }

    /**
      Get Title of the calendar
    */
    QString eventTitle() const
    {
      return mEventTitle;
    }

    /**
      Is Title of the calendar Immutable
    */
    bool isEventTitleImmutable() const
    {
      return isImmutable( QStringLiteral( "EventTitle" ) );
    }

    /**
      Get Item object corresponding to EventTitle()
    */
    ItemString *eventTitleItem()
    {
      return mEventTitleItem;
    }

    /**
      Set Export location of the events
    */
    void setEventLocation( bool v )
    {
      if (!isEventLocationImmutable())
        mEventLocation = v;
    }

    /**
      Get Export location of the events
    */
    bool eventLocation() const
    {
      return mEventLocation;
    }

    /**
      Is Export location of the events Immutable
    */
    bool isEventLocationImmutable() const
    {
      return isImmutable( QStringLiteral( "EventLocation" ) );
    }

    /**
      Get Item object corresponding to EventLocation()
    */
    ItemBool *eventLocationItem()
    {
      return mEventLocationItem;
    }

    /**
      Set Export categories of the events
    */
    void setEventCategories( bool v )
    {
      if (!isEventCategoriesImmutable())
        mEventCategories = v;
    }

    /**
      Get Export categories of the events
    */
    bool eventCategories() const
    {
      return mEventCategories;
    }

    /**
      Is Export categories of the events Immutable
    */
    bool isEventCategoriesImmutable() const
    {
      return isImmutable( QStringLiteral( "EventCategories" ) );
    }

    /**
      Get Item object corresponding to EventCategories()
    */
    ItemBool *eventCategoriesItem()
    {
      return mEventCategoriesItem;
    }

    /**
      Set Export attendees of the events
    */
    void setEventAttendees( bool v )
    {
      if (!isEventAttendeesImmutable())
        mEventAttendees = v;
    }

    /**
      Get Export attendees of the events
    */
    bool eventAttendees() const
    {
      return mEventAttendees;
    }

    /**
      Is Export attendees of the events Immutable
    */
    bool isEventAttendeesImmutable() const
    {
      return isImmutable( QStringLiteral( "EventAttendees" ) );
    }

    /**
      Get Item object corresponding to EventAttendees()
    */
    ItemBool *eventAttendeesItem()
    {
      return mEventAttendeesItem;
    }

    /**
      Set Export to-do list
    */
    void setTodoView( bool v )
    {
      if (!isTodoViewImmutable())
        mTodoView = v;
    }

    /**
      Get Export to-do list
    */
    bool todoView() const
    {
      return mTodoView;
    }

    /**
      Is Export to-do list Immutable
    */
    bool isTodoViewImmutable() const
    {
      return isImmutable( QStringLiteral( "TodoView" ) );
    }

    /**
      Get Item object corresponding to TodoView()
    */
    ItemBool *todoViewItem()
    {
      return mTodoViewItem;
    }

    /**
      Set Title of the to-do list
    */
    void setTodoListTitle( const QString & v )
    {
      if (!isTodoListTitleImmutable())
        mTodoListTitle = v;
    }

    /**
      Get Title of the to-do list
    */
    QString todoListTitle() const
    {
      return mTodoListTitle;
    }

    /**
      Is Title of the to-do list Immutable
    */
    bool isTodoListTitleImmutable() const
    {
      return isImmutable( QStringLiteral( "TodoListTitle" ) );
    }

    /**
      Get Item object corresponding to TodoListTitle()
    */
    ItemString *todoListTitleItem()
    {
      return mTodoListTitleItem;
    }

    /**
      Set Export due dates of the to-dos
    */
    void setTaskDueDate( bool v )
    {
      if (!isTaskDueDateImmutable())
        mTaskDueDate = v;
    }

    /**
      Get Export due dates of the to-dos
    */
    bool taskDueDate() const
    {
      return mTaskDueDate;
    }

    /**
      Is Export due dates of the to-dos Immutable
    */
    bool isTaskDueDateImmutable() const
    {
      return isImmutable( QStringLiteral( "TaskDueDate" ) );
    }

    /**
      Get Item object corresponding to TaskDueDate()
    */
    ItemBool *taskDueDateItem()
    {
      return mTaskDueDateItem;
    }

    /**
      Set Export location of the to-dos
    */
    void setTaskLocation( bool v )
    {
      if (!isTaskLocationImmutable())
        mTaskLocation = v;
    }

    /**
      Get Export location of the to-dos
    */
    bool taskLocation() const
    {
      return mTaskLocation;
    }

    /**
      Is Export location of the to-dos Immutable
    */
    bool isTaskLocationImmutable() const
    {
      return isImmutable( QStringLiteral( "TaskLocation" ) );
    }

    /**
      Get Item object corresponding to TaskLocation()
    */
    ItemBool *taskLocationItem()
    {
      return mTaskLocationItem;
    }

    /**
      Set Export categories of the to-dos
    */
    void setTaskCategories( bool v )
    {
      if (!isTaskCategoriesImmutable())
        mTaskCategories = v;
    }

    /**
      Get Export categories of the to-dos
    */
    bool taskCategories() const
    {
      return mTaskCategories;
    }

    /**
      Is Export categories of the to-dos Immutable
    */
    bool isTaskCategoriesImmutable() const
    {
      return isImmutable( QStringLiteral( "TaskCategories" ) );
    }

    /**
      Get Item object corresponding to TaskCategories()
    */
    ItemBool *taskCategoriesItem()
    {
      return mTaskCategoriesItem;
    }

    /**
      Set Export attendees of the to-dos
    */
    void setTaskAttendees( bool v )
    {
      if (!isTaskAttendeesImmutable())
        mTaskAttendees = v;
    }

    /**
      Get Export attendees of the to-dos
    */
    bool taskAttendees() const
    {
      return mTaskAttendees;
    }

    /**
      Is Export attendees of the to-dos Immutable
    */
    bool isTaskAttendeesImmutable() const
    {
      return isImmutable( QStringLiteral( "TaskAttendees" ) );
    }

    /**
      Get Item object corresponding to TaskAttendees()
    */
    ItemBool *taskAttendeesItem()
    {
      return mTaskAttendeesItem;
    }

    /**
      Set Export journals
    */
    void setJournalView( bool v )
    {
      if (!isJournalViewImmutable())
        mJournalView = v;
    }

    /**
      Get Export journals
    */
    bool journalView() const
    {
      return mJournalView;
    }

    /**
      Is Export journals Immutable
    */
    bool isJournalViewImmutable() const
    {
      return isImmutable( QStringLiteral( "JournalView" ) );
    }

    /**
      Get Item object corresponding to JournalView()
    */
    ItemBool *journalViewItem()
    {
      return mJournalViewItem;
    }

    /**
      Set Title of the journal list
    */
    void setJournalTitle( const QString & v )
    {
      if (!isJournalTitleImmutable())
        mJournalTitle = v;
    }

    /**
      Get Title of the journal list
    */
    QString journalTitle() const
    {
      return mJournalTitle;
    }

    /**
      Is Title of the journal list Immutable
    */
    bool isJournalTitleImmutable() const
    {
      return isImmutable( QStringLiteral( "JournalTitle" ) );
    }

    /**
      Get Item object corresponding to JournalTitle()
    */
    ItemString *journalTitleItem()
    {
      return mJournalTitleItem;
    }

    /**
      Set Export free/busy list
    */
    void setFreeBusyView( bool v )
    {
      if (!isFreeBusyViewImmutable())
        mFreeBusyView = v;
    }

    /**
      Get Export free/busy list
    */
    bool freeBusyView() const
    {
      return mFreeBusyView;
    }

    /**
      Is Export free/busy list Immutable
    */
    bool isFreeBusyViewImmutable() const
    {
      return isImmutable( QStringLiteral( "FreeBusyView" ) );
    }

    /**
      Get Item object corresponding to FreeBusyView()
    */
    ItemBool *freeBusyViewItem()
    {
      return mFreeBusyViewItem;
    }

    /**
      Set Title of the free/busy list
    */
    void setFreeBusyTitle( const QString & v )
    {
      if (!isFreeBusyTitleImmutable())
        mFreeBusyTitle = v;
    }

    /**
      Get Title of the free/busy list
    */
    QString freeBusyTitle() const
    {
      return mFreeBusyTitle;
    }

    /**
      Is Title of the free/busy list Immutable
    */
    bool isFreeBusyTitleImmutable() const
    {
      return isImmutable( QStringLiteral( "FreeBusyTitle" ) );
    }

    /**
      Get Item object corresponding to FreeBusyTitle()
    */
    ItemString *freeBusyTitleItem()
    {
      return mFreeBusyTitleItem;
    }

  protected:
  public:
    QString mParamapplication;

    // $(application)-General
    QString mName;
    QString mEMail;
    QString mCreditName;
    QString mCreditURL;
    QString mPageTitle;
    QDateTime mDateStart;
    QDateTime mDateEnd;
    QString mOutputFile;
    QString mStyleSheet;
    bool mExcludePrivate;
    bool mExcludeConfidential;

    // $(application)-Events
    bool mEventView;
    bool mMonthView;
    bool mWeekView;
    QString mEventTitle;
    bool mEventLocation;
    bool mEventCategories;
    bool mEventAttendees;

    // $(application)-Todos
    bool mTodoView;
    QString mTodoListTitle;
    bool mTaskDueDate;
    bool mTaskLocation;
    bool mTaskCategories;
    bool mTaskAttendees;

    // $(application)-Journals
    bool mJournalView;
    QString mJournalTitle;

    // $(application)-FreeBusy
    bool mFreeBusyView;
    QString mFreeBusyTitle;

  private:
    ItemString *mNameItem;
    ItemString *mEMailItem;
    ItemString *mCreditNameItem;
    ItemString *mCreditURLItem;
    ItemString *mPageTitleItem;
    ItemDateTime *mDateStartItem;
    ItemDateTime *mDateEndItem;
    ItemPath *mOutputFileItem;
    ItemString *mStyleSheetItem;
    ItemBool *mExcludePrivateItem;
    ItemBool *mExcludeConfidentialItem;
    ItemBool *mEventViewItem;
    ItemBool *mMonthViewItem;
    ItemBool *mWeekViewItem;
    ItemString *mEventTitleItem;
    ItemBool *mEventLocationItem;
    ItemBool *mEventCategoriesItem;
    ItemBool *mEventAttendeesItem;
    ItemBool *mTodoViewItem;
    ItemString *mTodoListTitleItem;
    ItemBool *mTaskDueDateItem;
    ItemBool *mTaskLocationItem;
    ItemBool *mTaskCategoriesItem;
    ItemBool *mTaskAttendeesItem;
    ItemBool *mJournalViewItem;
    ItemString *mJournalTitleItem;
    ItemBool *mFreeBusyViewItem;
    ItemString *mFreeBusyTitleItem;
};

}

#endif

