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

#include <dolphin_export.h>

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

#include <QFontDatabase>
#include <kiconloader.h>

class DOLPHIN_EXPORT IconsModeSettings : public KConfigSkeleton
{
  public:

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

    /**
      Set Use system font
    */
    static
    void setUseSystemFont( bool v )
    {
      if (!self()->isUseSystemFontImmutable())
        self()->mUseSystemFont = v;
    }

    /**
      Get Use system font
    */
    static
    bool useSystemFont()
    {
      return self()->mUseSystemFont;
    }

    /**
      Is Use system font Immutable
    */
    static
    bool isUseSystemFontImmutable()
    {
      return self()->isImmutable( QStringLiteral( "UseSystemFont" ) );
    }

    /**
      Set ViewFont
    */
    static
    void setViewFont( const QFont & v )
    {
      if (!self()->isViewFontImmutable())
        self()->mViewFont = v;
    }

    /**
      Get ViewFont
    */
    static
    QFont viewFont()
    {
      return self()->mViewFont;
    }

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

    /**
      Set Icon size
    */
    static
    void setIconSize( int v )
    {
      if (!self()->isIconSizeImmutable())
        self()->mIconSize = v;
    }

    /**
      Get Icon size
    */
    static
    int iconSize()
    {
      return self()->mIconSize;
    }

    /**
      Is Icon size Immutable
    */
    static
    bool isIconSizeImmutable()
    {
      return self()->isImmutable( QStringLiteral( "IconSize" ) );
    }

    /**
      Set Preview size
    */
    static
    void setPreviewSize( int v )
    {
      if (!self()->isPreviewSizeImmutable())
        self()->mPreviewSize = v;
    }

    /**
      Get Preview size
    */
    static
    int previewSize()
    {
      return self()->mPreviewSize;
    }

    /**
      Is Preview size Immutable
    */
    static
    bool isPreviewSizeImmutable()
    {
      return self()->isImmutable( QStringLiteral( "PreviewSize" ) );
    }

    /**
      Set Text width index
    */
    static
    void setTextWidthIndex( int v )
    {
      if (!self()->isTextWidthIndexImmutable())
        self()->mTextWidthIndex = v;
    }

    /**
      Get Text width index
    */
    static
    int textWidthIndex()
    {
      return self()->mTextWidthIndex;
    }

    /**
      Is Text width index Immutable
    */
    static
    bool isTextWidthIndexImmutable()
    {
      return self()->isImmutable( QStringLiteral( "TextWidthIndex" ) );
    }

    /**
      Set Maximum textlines (0 means unlimited)
    */
    static
    void setMaximumTextLines( int v )
    {
      if (!self()->isMaximumTextLinesImmutable())
        self()->mMaximumTextLines = v;
    }

    /**
      Get Maximum textlines (0 means unlimited)
    */
    static
    int maximumTextLines()
    {
      return self()->mMaximumTextLines;
    }

    /**
      Is Maximum textlines (0 means unlimited) Immutable
    */
    static
    bool isMaximumTextLinesImmutable()
    {
      return self()->isImmutable( QStringLiteral( "MaximumTextLines" ) );
    }

  protected:
    IconsModeSettings();
    friend class IconsModeSettingsHelper;


    // IconsMode
    bool mUseSystemFont;
    QFont mViewFont;
    int mIconSize;
    int mPreviewSize;
    int mTextWidthIndex;
    int mMaximumTextLines;
};

#endif

