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

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

class DocumentSettings : public KConfigSkeleton
{
  public:

    DocumentSettings( const QString & fileurl );
    ~DocumentSettings() override;

    /**
      Set Selected tenses for conjugation practice.
    */
    void setConjugationTenses( const QStringList & v )
    {
      if (!isConjugationTensesImmutable())
        mConjugationTenses = v;
    }

    /**
      Get Selected tenses for conjugation practice.
    */
    QStringList conjugationTenses() const
    {
      return mConjugationTenses;
    }

    /**
      Is Selected tenses for conjugation practice. Immutable
    */
    bool isConjugationTensesImmutable() const
    {
      return isImmutable( QStringLiteral( "ConjugationTenses" ) );
    }

    /**
      Get Item object corresponding to ConjugationTenses()
    */
    ItemStringList *conjugationTensesItem()
    {
      return mConjugationTensesItem;
    }

    /**
      Set Visible columns in the main editor window.
    */
    void setVisibleColumns( const QList<int> & v )
    {
      if (!isVisibleColumnsImmutable())
        mVisibleColumns = v;
    }

    /**
      Get Visible columns in the main editor window.
    */
    QList<int> visibleColumns() const
    {
      return mVisibleColumns;
    }

    /**
      Is Visible columns in the main editor window. Immutable
    */
    bool isVisibleColumnsImmutable() const
    {
      return isImmutable( QStringLiteral( "VisibleColumns" ) );
    }

    /**
      Get Item object corresponding to VisibleColumns()
    */
    ItemIntList *visibleColumnsItem()
    {
      return mVisibleColumnsItem;
    }

    /**
      Set Collapsed tree view items of statistics view window.
    */
    void setCollapsedStatisticsViewItems( const QStringList & v )
    {
      if (!isCollapsedStatisticsViewItemsImmutable())
        mCollapsedStatisticsViewItems = v;
    }

    /**
      Get Collapsed tree view items of statistics view window.
    */
    QStringList collapsedStatisticsViewItems() const
    {
      return mCollapsedStatisticsViewItems;
    }

    /**
      Is Collapsed tree view items of statistics view window. Immutable
    */
    bool isCollapsedStatisticsViewItemsImmutable() const
    {
      return isImmutable( QStringLiteral( "CollapsedStatisticsViewItems" ) );
    }

    /**
      Get Item object corresponding to CollapsedStatisticsViewItems()
    */
    ItemStringList *collapsedStatisticsViewItemsItem()
    {
      return mCollapsedStatisticsViewItemsItem;
    }

  protected:
    QString mParamfileurl;

    // Document $(fileurl)
    QStringList mConjugationTenses;
    QList<int> mVisibleColumns;
    QStringList mCollapsedStatisticsViewItems;

  private:
    ItemStringList *mConjugationTensesItem;
    ItemIntList *mVisibleColumnsItem;
    ItemStringList *mCollapsedStatisticsViewItemsItem;
};

#endif

