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

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

class InformationPanelSettings : public KConfigSkeleton
{
  public:
    class EnumDateFormat
    {
      public:
      enum type { LongFormat, ShortFormat, COUNT };
    };

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

    /**
      Set Previews shown
    */
    static
    void setPreviewsShown( bool v )
    {
      if (!self()->isPreviewsShownImmutable())
        self()->mPreviewsShown = v;
    }

    /**
      Get Previews shown
    */
    static
    bool previewsShown()
    {
      return self()->mPreviewsShown;
    }

    /**
      Is Previews shown Immutable
    */
    static
    bool isPreviewsShownImmutable()
    {
      return self()->isImmutable( QStringLiteral( "previewsShown" ) );
    }

    /**
      Set Auto-Play media files
    */
    static
    void setPreviewsAutoPlay( bool v )
    {
      if (!self()->isPreviewsAutoPlayImmutable())
        self()->mPreviewsAutoPlay = v;
    }

    /**
      Get Auto-Play media files
    */
    static
    bool previewsAutoPlay()
    {
      return self()->mPreviewsAutoPlay;
    }

    /**
      Is Auto-Play media files Immutable
    */
    static
    bool isPreviewsAutoPlayImmutable()
    {
      return self()->isImmutable( QStringLiteral( "previewsAutoPlay" ) );
    }

    /**
      Set Show item on hover
    */
    static
    void setShowHovered( bool v )
    {
      if (!self()->isShowHoveredImmutable())
        self()->mShowHovered = v;
    }

    /**
      Get Show item on hover
    */
    static
    bool showHovered()
    {
      return self()->mShowHovered;
    }

    /**
      Is Show item on hover Immutable
    */
    static
    bool isShowHoveredImmutable()
    {
      return self()->isImmutable( QStringLiteral( "showHovered" ) );
    }

    /**
      Set Date display format
    */
    static
    void setDateFormat( int v )
    {
      if (!self()->isDateFormatImmutable())
        self()->mDateFormat = v;
    }

    /**
      Get Date display format
    */
    static
    int dateFormat()
    {
      return self()->mDateFormat;
    }

    /**
      Is Date display format Immutable
    */
    static
    bool isDateFormatImmutable()
    {
      return self()->isImmutable( QStringLiteral( "dateFormat" ) );
    }

  protected:
    InformationPanelSettings();
    friend class InformationPanelSettingsHelper;


    // InformationPanel
    bool mPreviewsShown;
    bool mPreviewsAutoPlay;
    bool mShowHovered;
    int mDateFormat;
};

#endif

