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

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

class QQmlEngine;
class QJSEngine;

class PlaylistSettings : public KConfigSkeleton
{
  Q_OBJECT
  QML_ELEMENT
  QML_SINGLETON
  public:

    static PlaylistSettings *self();
    static PlaylistSettings *create(QQmlEngine *, QJSEngine *);
    ~PlaylistSettings() override;

    /**
      Set Position
    */
    static
    void setPosition( const QString & v )
    {
      if (v != self()->mPosition && !self()->isPositionImmutable()) {
        self()->mPosition = v;
        Q_EMIT self()->PositionChanged();
      }
    }

    Q_PROPERTY(QString position READ position WRITE setPosition NOTIFY PositionChanged)
    Q_PROPERTY(bool isPositionImmutable READ isPositionImmutable CONSTANT)
    Q_PROPERTY(QString defaultPositionValue READ defaultPositionValue CONSTANT)
    /**
      Get Position
    */
    static
    QString position()
    {
      return self()->mPosition;
    }

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

    /**
      Get Position default value
    */
    static
    QString defaultPositionValue()
    {
        return defaultPositionValue_helper();
    }

    /**
      Set Style
    */
    static
    void setStyle( const QString & v )
    {
      if (v != self()->mStyle && !self()->isStyleImmutable()) {
        self()->mStyle = v;
        Q_EMIT self()->StyleChanged();
      }
    }

    Q_PROPERTY(QString style READ style WRITE setStyle NOTIFY StyleChanged)
    Q_PROPERTY(bool isStyleImmutable READ isStyleImmutable CONSTANT)
    Q_PROPERTY(QString defaultStyleValue READ defaultStyleValue CONSTANT)
    /**
      Get Style
    */
    static
    QString style()
    {
      return self()->mStyle;
    }

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

    /**
      Get Style default value
    */
    static
    QString defaultStyleValue()
    {
        return defaultStyleValue_helper();
    }

    /**
      Set PlaybackBehavior
    */
    static
    void setPlaybackBehavior( const QString & v )
    {
      if (v != self()->mPlaybackBehavior && !self()->isPlaybackBehaviorImmutable()) {
        self()->mPlaybackBehavior = v;
        Q_EMIT self()->PlaybackBehaviorChanged();
      }
    }

    Q_PROPERTY(QString playbackBehavior READ playbackBehavior WRITE setPlaybackBehavior NOTIFY PlaybackBehaviorChanged)
    Q_PROPERTY(bool isPlaybackBehaviorImmutable READ isPlaybackBehaviorImmutable CONSTANT)
    Q_PROPERTY(QString defaultPlaybackBehaviorValue READ defaultPlaybackBehaviorValue CONSTANT)
    /**
      Get PlaybackBehavior
    */
    static
    QString playbackBehavior()
    {
      return self()->mPlaybackBehavior;
    }

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

    /**
      Get PlaybackBehavior default value
    */
    static
    QString defaultPlaybackBehaviorValue()
    {
        return defaultPlaybackBehaviorValue_helper();
    }

    /**
      Set RandomPlayback
    */
    static
    void setRandomPlayback( bool v )
    {
      if (v != self()->mRandomPlayback && !self()->isRandomPlaybackImmutable()) {
        self()->mRandomPlayback = v;
        Q_EMIT self()->RandomPlaybackChanged();
      }
    }

    Q_PROPERTY(bool randomPlayback READ randomPlayback WRITE setRandomPlayback NOTIFY RandomPlaybackChanged)
    Q_PROPERTY(bool isRandomPlaybackImmutable READ isRandomPlaybackImmutable CONSTANT)
    Q_PROPERTY(bool defaultRandomPlaybackValue READ defaultRandomPlaybackValue CONSTANT)
    /**
      Get RandomPlayback
    */
    static
    bool randomPlayback()
    {
      return self()->mRandomPlayback;
    }

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

    /**
      Get RandomPlayback default value
    */
    static
    bool defaultRandomPlaybackValue()
    {
        return defaultRandomPlaybackValue_helper();
    }

    /**
      Set OverlayVideo
    */
    static
    void setOverlayVideo( bool v )
    {
      if (v != self()->mOverlayVideo && !self()->isOverlayVideoImmutable()) {
        self()->mOverlayVideo = v;
        Q_EMIT self()->OverlayVideoChanged();
      }
    }

    Q_PROPERTY(bool overlayVideo READ overlayVideo WRITE setOverlayVideo NOTIFY OverlayVideoChanged)
    Q_PROPERTY(bool isOverlayVideoImmutable READ isOverlayVideoImmutable CONSTANT)
    Q_PROPERTY(bool defaultOverlayVideoValue READ defaultOverlayVideoValue CONSTANT)
    /**
      Get OverlayVideo
    */
    static
    bool overlayVideo()
    {
      return self()->mOverlayVideo;
    }

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

    /**
      Get OverlayVideo default value
    */
    static
    bool defaultOverlayVideoValue()
    {
        return defaultOverlayVideoValue_helper();
    }

    /**
      Set ShowThumbnails
    */
    static
    void setShowThumbnails( bool v )
    {
      if (v != self()->mShowThumbnails && !self()->isShowThumbnailsImmutable()) {
        self()->mShowThumbnails = v;
        Q_EMIT self()->ShowThumbnailsChanged();
      }
    }

    Q_PROPERTY(bool showThumbnails READ showThumbnails WRITE setShowThumbnails NOTIFY ShowThumbnailsChanged)
    Q_PROPERTY(bool isShowThumbnailsImmutable READ isShowThumbnailsImmutable CONSTANT)
    Q_PROPERTY(bool defaultShowThumbnailsValue READ defaultShowThumbnailsValue CONSTANT)
    /**
      Get ShowThumbnails
    */
    static
    bool showThumbnails()
    {
      return self()->mShowThumbnails;
    }

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

    /**
      Get ShowThumbnails default value
    */
    static
    bool defaultShowThumbnailsValue()
    {
        return defaultShowThumbnailsValue_helper();
    }

    /**
      Set ShowMediaTitle
    */
    static
    void setShowMediaTitle( bool v )
    {
      if (v != self()->mShowMediaTitle && !self()->isShowMediaTitleImmutable()) {
        self()->mShowMediaTitle = v;
        Q_EMIT self()->ShowMediaTitleChanged();
      }
    }

    Q_PROPERTY(bool showMediaTitle READ showMediaTitle WRITE setShowMediaTitle NOTIFY ShowMediaTitleChanged)
    Q_PROPERTY(bool isShowMediaTitleImmutable READ isShowMediaTitleImmutable CONSTANT)
    Q_PROPERTY(bool defaultShowMediaTitleValue READ defaultShowMediaTitleValue CONSTANT)
    /**
      Get ShowMediaTitle
    */
    static
    bool showMediaTitle()
    {
      return self()->mShowMediaTitle;
    }

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

    /**
      Get ShowMediaTitle default value
    */
    static
    bool defaultShowMediaTitleValue()
    {
        return defaultShowMediaTitleValue_helper();
    }

    /**
      Set LoadSiblings
    */
    static
    void setLoadSiblings( bool v )
    {
      if (v != self()->mLoadSiblings && !self()->isLoadSiblingsImmutable()) {
        self()->mLoadSiblings = v;
        Q_EMIT self()->LoadSiblingsChanged();
      }
    }

    Q_PROPERTY(bool loadSiblings READ loadSiblings WRITE setLoadSiblings NOTIFY LoadSiblingsChanged)
    Q_PROPERTY(bool isLoadSiblingsImmutable READ isLoadSiblingsImmutable CONSTANT)
    Q_PROPERTY(bool defaultLoadSiblingsValue READ defaultLoadSiblingsValue CONSTANT)
    /**
      Get LoadSiblings
    */
    static
    bool loadSiblings()
    {
      return self()->mLoadSiblings;
    }

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

    /**
      Get LoadSiblings default value
    */
    static
    bool defaultLoadSiblingsValue()
    {
        return defaultLoadSiblingsValue_helper();
    }

    /**
      Set ShowRowNumber
    */
    static
    void setShowRowNumber( bool v )
    {
      if (v != self()->mShowRowNumber && !self()->isShowRowNumberImmutable()) {
        self()->mShowRowNumber = v;
        Q_EMIT self()->ShowRowNumberChanged();
      }
    }

    Q_PROPERTY(bool showRowNumber READ showRowNumber WRITE setShowRowNumber NOTIFY ShowRowNumberChanged)
    Q_PROPERTY(bool isShowRowNumberImmutable READ isShowRowNumberImmutable CONSTANT)
    Q_PROPERTY(bool defaultShowRowNumberValue READ defaultShowRowNumberValue CONSTANT)
    /**
      Get ShowRowNumber
    */
    static
    bool showRowNumber()
    {
      return self()->mShowRowNumber;
    }

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

    /**
      Get ShowRowNumber default value
    */
    static
    bool defaultShowRowNumberValue()
    {
        return defaultShowRowNumberValue_helper();
    }

    /**
      Set CanToggleWithMouse
    */
    static
    void setCanToggleWithMouse( bool v )
    {
      if (v != self()->mCanToggleWithMouse && !self()->isCanToggleWithMouseImmutable()) {
        self()->mCanToggleWithMouse = v;
        Q_EMIT self()->CanToggleWithMouseChanged();
      }
    }

    Q_PROPERTY(bool canToggleWithMouse READ canToggleWithMouse WRITE setCanToggleWithMouse NOTIFY CanToggleWithMouseChanged)
    Q_PROPERTY(bool isCanToggleWithMouseImmutable READ isCanToggleWithMouseImmutable CONSTANT)
    Q_PROPERTY(bool defaultCanToggleWithMouseValue READ defaultCanToggleWithMouseValue CONSTANT)
    /**
      Get CanToggleWithMouse
    */
    static
    bool canToggleWithMouse()
    {
      return self()->mCanToggleWithMouse;
    }

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

    /**
      Get CanToggleWithMouse default value
    */
    static
    bool defaultCanToggleWithMouseValue()
    {
        return defaultCanToggleWithMouseValue_helper();
    }

    /**
      Set BigFontFullscreen
    */
    static
    void setBigFontFullscreen( bool v )
    {
      if (v != self()->mBigFontFullscreen && !self()->isBigFontFullscreenImmutable()) {
        self()->mBigFontFullscreen = v;
        Q_EMIT self()->BigFontFullscreenChanged();
      }
    }

    Q_PROPERTY(bool bigFontFullscreen READ bigFontFullscreen WRITE setBigFontFullscreen NOTIFY BigFontFullscreenChanged)
    Q_PROPERTY(bool isBigFontFullscreenImmutable READ isBigFontFullscreenImmutable CONSTANT)
    Q_PROPERTY(bool defaultBigFontFullscreenValue READ defaultBigFontFullscreenValue CONSTANT)
    /**
      Get BigFontFullscreen
    */
    static
    bool bigFontFullscreen()
    {
      return self()->mBigFontFullscreen;
    }

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

    /**
      Get BigFontFullscreen default value
    */
    static
    bool defaultBigFontFullscreenValue()
    {
        return defaultBigFontFullscreenValue_helper();
    }

    /**
      Set RememberState
    */
    static
    void setRememberState( bool v )
    {
      if (v != self()->mRememberState && !self()->isRememberStateImmutable()) {
        self()->mRememberState = v;
        Q_EMIT self()->RememberStateChanged();
      }
    }

    Q_PROPERTY(bool rememberState READ rememberState WRITE setRememberState NOTIFY RememberStateChanged)
    Q_PROPERTY(bool isRememberStateImmutable READ isRememberStateImmutable CONSTANT)
    Q_PROPERTY(bool defaultRememberStateValue READ defaultRememberStateValue CONSTANT)
    /**
      Get RememberState
    */
    static
    bool rememberState()
    {
      return self()->mRememberState;
    }

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

    /**
      Get RememberState default value
    */
    static
    bool defaultRememberStateValue()
    {
        return defaultRememberStateValue_helper();
    }

    /**
      Set Visible
    */
    static
    void setVisible( bool v )
    {
      if (v != self()->mVisible && !self()->isVisibleImmutable()) {
        self()->mVisible = v;
        Q_EMIT self()->VisibleChanged();
      }
    }

    Q_PROPERTY(bool visible READ visible WRITE setVisible NOTIFY VisibleChanged)
    Q_PROPERTY(bool isVisibleImmutable READ isVisibleImmutable CONSTANT)
    Q_PROPERTY(bool defaultVisibleValue READ defaultVisibleValue CONSTANT)
    /**
      Get Visible
    */
    static
    bool visible()
    {
      return self()->mVisible;
    }

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

    /**
      Get Visible default value
    */
    static
    bool defaultVisibleValue()
    {
        return defaultVisibleValue_helper();
    }

    /**
      Set ShowToolbar
    */
    static
    void setShowToolbar( bool v )
    {
      if (v != self()->mShowToolbar && !self()->isShowToolbarImmutable()) {
        self()->mShowToolbar = v;
        Q_EMIT self()->ShowToolbarChanged();
      }
    }

    Q_PROPERTY(bool showToolbar READ showToolbar WRITE setShowToolbar NOTIFY ShowToolbarChanged)
    Q_PROPERTY(bool isShowToolbarImmutable READ isShowToolbarImmutable CONSTANT)
    Q_PROPERTY(bool defaultShowToolbarValue READ defaultShowToolbarValue CONSTANT)
    /**
      Get ShowToolbar
    */
    static
    bool showToolbar()
    {
      return self()->mShowToolbar;
    }

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

    /**
      Get ShowToolbar default value
    */
    static
    bool defaultShowToolbarValue()
    {
        return defaultShowToolbarValue_helper();
    }

    /**
      Set OpenWithSingleClick
    */
    static
    void setOpenWithSingleClick( bool v )
    {
      if (v != self()->mOpenWithSingleClick && !self()->isOpenWithSingleClickImmutable()) {
        self()->mOpenWithSingleClick = v;
        Q_EMIT self()->OpenWithSingleClickChanged();
      }
    }

    Q_PROPERTY(bool openWithSingleClick READ openWithSingleClick WRITE setOpenWithSingleClick NOTIFY OpenWithSingleClickChanged)
    Q_PROPERTY(bool isOpenWithSingleClickImmutable READ isOpenWithSingleClickImmutable CONSTANT)
    Q_PROPERTY(bool defaultOpenWithSingleClickValue READ defaultOpenWithSingleClickValue CONSTANT)
    /**
      Get OpenWithSingleClick
    */
    static
    bool openWithSingleClick()
    {
      return self()->mOpenWithSingleClick;
    }

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

    /**
      Get OpenWithSingleClick default value
    */
    static
    bool defaultOpenWithSingleClickValue()
    {
        return defaultOpenWithSingleClickValue_helper();
    }

    /**
      Set PlaylistWidth
    */
    static
    void setPlaylistWidth( double v )
    {
      if (v != self()->mPlaylistWidth && !self()->isPlaylistWidthImmutable()) {
        self()->mPlaylistWidth = v;
        Q_EMIT self()->PlaylistWidthChanged();
      }
    }

    Q_PROPERTY(double playlistWidth READ playlistWidth WRITE setPlaylistWidth NOTIFY PlaylistWidthChanged)
    Q_PROPERTY(bool isPlaylistWidthImmutable READ isPlaylistWidthImmutable CONSTANT)
    Q_PROPERTY(double defaultPlaylistWidthValue READ defaultPlaylistWidthValue CONSTANT)
    /**
      Get PlaylistWidth
    */
    static
    double playlistWidth()
    {
      return self()->mPlaylistWidth;
    }

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

    /**
      Get PlaylistWidth default value
    */
    static
    double defaultPlaylistWidthValue()
    {
        return defaultPlaylistWidthValue_helper();
    }


    enum {
      signalPositionChanged = 1,
      signalStyleChanged = 2,
      signalPlaybackBehaviorChanged = 3,
      signalRandomPlaybackChanged = 4,
      signalOverlayVideoChanged = 5,
      signalShowThumbnailsChanged = 6,
      signalShowMediaTitleChanged = 7,
      signalLoadSiblingsChanged = 8,
      signalShowRowNumberChanged = 9,
      signalCanToggleWithMouseChanged = 10,
      signalBigFontFullscreenChanged = 11,
      signalRememberStateChanged = 12,
      signalVisibleChanged = 13,
      signalShowToolbarChanged = 14,
      signalOpenWithSingleClickChanged = 15,
      signalPlaylistWidthChanged = 16
    };

  Q_SIGNALS:
    void PositionChanged();

    void StyleChanged();

    void PlaybackBehaviorChanged();

    void RandomPlaybackChanged();

    void OverlayVideoChanged();

    void ShowThumbnailsChanged();

    void ShowMediaTitleChanged();

    void LoadSiblingsChanged();

    void ShowRowNumberChanged();

    void CanToggleWithMouseChanged();

    void BigFontFullscreenChanged();

    void RememberStateChanged();

    void VisibleChanged();

    void ShowToolbarChanged();

    void OpenWithSingleClickChanged();

    void PlaylistWidthChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:
    PlaylistSettings(QObject *parent = nullptr);
    friend class PlaylistSettingsHelper;


    // Playlist
    QString mPosition;
    static QString defaultPositionValue_helper();
    QString mStyle;
    static QString defaultStyleValue_helper();
    QString mPlaybackBehavior;
    static QString defaultPlaybackBehaviorValue_helper();
    bool mRandomPlayback;
    static bool defaultRandomPlaybackValue_helper();
    bool mOverlayVideo;
    static bool defaultOverlayVideoValue_helper();
    bool mShowThumbnails;
    static bool defaultShowThumbnailsValue_helper();
    bool mShowMediaTitle;
    static bool defaultShowMediaTitleValue_helper();
    bool mLoadSiblings;
    static bool defaultLoadSiblingsValue_helper();
    bool mShowRowNumber;
    static bool defaultShowRowNumberValue_helper();
    bool mCanToggleWithMouse;
    static bool defaultCanToggleWithMouseValue_helper();
    bool mBigFontFullscreen;
    static bool defaultBigFontFullscreenValue_helper();
    bool mRememberState;
    static bool defaultRememberStateValue_helper();
    bool mVisible;
    static bool defaultVisibleValue_helper();
    bool mShowToolbar;
    static bool defaultShowToolbarValue_helper();
    bool mOpenWithSingleClick;
    static bool defaultOpenWithSingleClickValue_helper();
    double mPlaylistWidth;
    static double defaultPlaylistWidthValue_helper();
};

#endif

