// 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 Column widths
    */
    void setSizeHintColumn( int i, int v )
    {
      if (!isSizeHintColumnImmutable( i ))
        mSizeHintColumn[i] = v;
    }

    /**
      Get Column widths
    */
    int sizeHintColumn( int i ) const
    {
      return mSizeHintColumn[i];
    }

    /**
      Is Column widths Immutable
    */
    bool isSizeHintColumnImmutable( int i ) const
    {
      return isImmutable( QStringLiteral( "SizeHintColumn%1" ).arg( i ) );
    }

    /**
      Get Item object corresponding to SizeHintColumn()
    */
    ItemInt *sizeHintColumnItem( int i )
    {
      return mSizeHintColumnItem[i];
    }

    /**
      Set Keyboard layouts
    */
    void setKeyboardLayoutColumn( int i, const QString & v )
    {
      if (!isKeyboardLayoutColumnImmutable( i ))
        mKeyboardLayoutColumn[i] = v;
    }

    /**
      Get Keyboard layouts
    */
    QString keyboardLayoutColumn( int i ) const
    {
      return mKeyboardLayoutColumn[i];
    }

    /**
      Is Keyboard layouts Immutable
    */
    bool isKeyboardLayoutColumnImmutable( int i ) const
    {
      return isImmutable( QStringLiteral( "KeyboardLayoutColumn%1" ).arg( i ) );
    }

    /**
      Get Item object corresponding to KeyboardLayoutColumn()
    */
    ItemString *keyboardLayoutColumnItem( int i )
    {
      return mKeyboardLayoutColumnItem[i];
    }

  protected:
    QString mParamfileurl;

    // Document $(fileurl)
    int mSizeHintColumn[2];
    QString mKeyboardLayoutColumn[2];

  private:
    ItemInt *mSizeHintColumnItem[2];
    ItemString *mKeyboardLayoutColumnItem[2];
};

#endif

