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

#include <dolphin_export.h>

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

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

class DOLPHIN_EXPORT CompactModeSettings : public KConfigSkeleton
{
  public:

    static CompactModeSettings *self();
    ~CompactModeSettings() 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 Maximum text width index (0 means unlimited)
    */
    static
    void setMaximumTextWidthIndex( int v )
    {
      if (!self()->isMaximumTextWidthIndexImmutable())
        self()->mMaximumTextWidthIndex = v;
    }

    /**
      Get Maximum text width index (0 means unlimited)
    */
    static
    int maximumTextWidthIndex()
    {
      return self()->mMaximumTextWidthIndex;
    }

    /**
      Is Maximum text width index (0 means unlimited) Immutable
    */
    static
    bool isMaximumTextWidthIndexImmutable()
    {
      return self()->isImmutable( QStringLiteral( "MaximumTextWidthIndex" ) );
    }

  protected:
    CompactModeSettings();
    friend class CompactModeSettingsHelper;


    // CompactMode
    bool mUseSystemFont;
    QFont mViewFont;
    int mIconSize;
    int mPreviewSize;
    int mMaximumTextWidthIndex;
};

#endif

